summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d369479)
raw | patch | inline | side by side (parent: d369479)
author | Ketmar Dark <ketmar@ketmar.no-ip.org> | |
Mon, 25 Sep 2017 19:17:54 +0000 (22:17 +0300) | ||
committer | Ketmar Dark <ketmar@ketmar.no-ip.org> | |
Mon, 25 Sep 2017 19:18:18 +0000 (22:18 +0300) |
src/gx/gh_ui.pas | patch | blob | history |
diff --git a/src/gx/gh_ui.pas b/src/gx/gh_ui.pas
index 812fae7bda427e97be0ca26ab906b99376b0e464..39d209684d9f3dfd4b9c9182b83854c3a29229ff 100644 (file)
--- a/src/gx/gh_ui.pas
+++ b/src/gx/gh_ui.pas
procedure AfterConstruction (); override; // so it will be correctly initialized when created from parser
end;
+ // ////////////////////////////////////////////////////////////////////// //
+ THCtlSpan = class(THControl)
+ public
+ constructor Create ();
+ procedure AfterConstruction (); override; // so it will be correctly initialized when created from parser
+
+ function parseProperty (const prname: AnsiString; par: TTextParser): Boolean; override;
+
+ procedure drawControl (gx, gy: Integer); override;
+ end;
+
+ // ////////////////////////////////////////////////////////////////////// //
THCtlTextLabel = class(THControl)
private
mText: AnsiString;
ech: AnsiChar = ')';
begin
if (par.eatDelim('[')) then ech := ']' else par.expectDelim('(');
- result.h := par.expectInt();
- par.eatDelim(','); // optional comma
result.w := par.expectInt();
par.eatDelim(','); // optional comma
+ result.h := par.expectInt();
+ par.eatDelim(','); // optional comma
par.expectDelim(ech);
end;
mHoriz := false;
end;
+
+// ////////////////////////////////////////////////////////////////////////// //
+constructor THCtlSpan.Create ();
+begin
+ inherited Create();
+ mExpand := true;
+end;
+
+function THCtlSpan.parseProperty (const prname: AnsiString; par: TTextParser): Boolean;
+begin
+ if (strEquCI1251(prname, 'orientation')) or (strEquCI1251(prname, 'orient')) then
+ begin
+ if (par.eatIdOrStr('horizontal', false)) or (par.eatIdOrStr('horiz', false)) then mHoriz := true
+ else if (par.eatIdOrStr('vertical', false)) or (par.eatIdOrStr('vert', false)) then mHoriz := false
+ else par.error('`horizontal` or `vertical` expected');
+ result := true;
+ exit;
+ end;
+ result := inherited parseProperty(prname, par);
+end;
+
+procedure THCtlSpan.drawControl (gx, gy: Integer);
+begin
+end;
+
+
+procedure THCtlSpan.AfterConstruction ();
+begin
+ inherited AfterConstruction();
+ //mDefSize := TLaySize.Create(0, 8);
+ mExpand := true;
+end;
+
+
// ////////////////////////////////////////////////////////////////////////// //
constructor THCtlTextLabel.Create (const atext: AnsiString);
begin
registerCtlClass(THCtlBox, 'box');
registerCtlClass(THCtlHBox, 'hbox');
registerCtlClass(THCtlVBox, 'vbox');
+ registerCtlClass(THCtlSpan, 'span');
registerCtlClass(THCtlTextLabel, 'label');
end.