summaryrefslogtreecommitdiff
path: root/examples/apps
diff options
context:
space:
mode:
Diffstat (limited to 'examples/apps')
-rw-r--r--examples/apps/uidesigner/newformdesigner.pas179
-rw-r--r--examples/apps/uidesigner/vfdforms.pas237
-rw-r--r--examples/apps/uidesigner/vfdmain.pas44
3 files changed, 112 insertions, 348 deletions
diff --git a/examples/apps/uidesigner/newformdesigner.pas b/examples/apps/uidesigner/newformdesigner.pas
index 6028fd52..60f1603a 100644
--- a/examples/apps/uidesigner/newformdesigner.pas
+++ b/examples/apps/uidesigner/newformdesigner.pas
@@ -54,22 +54,22 @@ type
TfrmMain = class(TfpgForm)
public
{@VFD_HEAD_BEGIN: frmMain}
+ MainMenu: TfpgMenuBar;
btnNewForm: TfpgButton;
btnOpen: TfpgButton;
- MainMenu: TfpgMenuBar;
btnSave: TfpgButton;
wgpalette: TwgPalette;
chlPalette: TfpgComboBox;
+ filemenu: TfpgPopupMenu;
+ formmenu: TfpgPopupMenu;
+ setmenu: TfpgPopupMenu;
{@VFD_HEAD_END: frmMain}
- FileMenu: TfpgPopupMenu;
- FormMenu: TfpgPopupMenu;
- SetMenu: TfpgPopupMenu;
- function GetSelectedWidget: TVFDWidgetClass;
- procedure SetSelectedWidget(wgc: TVFDWidgetClass);
- procedure AfterCreate; override;
- procedure OnPaletteClick(Sender: TObject);
- property SelectedWidget: TVFDWidgetClass read GetSelectedWidget write SetSelectedWidget;
+ function GetSelectedWidget: TVFDWidgetClass;
+ procedure SetSelectedWidget(wgc: TVFDWidgetClass);
+ procedure AfterCreate; override;
+ procedure OnPaletteClick(Sender: TObject);
+ property SelectedWidget: TVFDWidgetClass read GetSelectedWidget write SetSelectedWidget;
end;
@@ -79,25 +79,25 @@ type
public
Widget: TfpgWidget;
constructor Create;
- destructor Destroy; override;
- function GetCount: integer;
- procedure Clear;
- property Count: integer read GetCount;
- procedure AddItem(aProp: TVFDWidgetProperty);
- function GetItem(index: integer): TVFDWidgetProperty;
+ destructor Destroy; override;
+ function GetCount: integer;
+ procedure Clear;
+ property Count: integer read GetCount;
+ procedure AddItem(aProp: TVFDWidgetProperty);
+ function GetItem(index: integer): TVFDWidgetProperty;
end;
TwgPropertyList = class(TfpgListBox)
protected
- procedure DrawItem(num: integer; rect: TfpgRect; flags: integer); override;
- procedure HandleMouseMove(x, y: integer; btnstate: word; shiftstate: TShiftState); override;
- procedure HandleLMouseDown(x, y: integer; shiftstate: TShiftState); override;
- procedure HandleLMouseUp(x, y: integer; shiftstate: TShiftState); override;
- procedure HandleSetFocus; override;
- procedure HandleKillFocus; override;
- procedure OnRowChange(Sender: TObject);
- procedure OnUpdateProperty(Sender: TObject);
+ procedure DrawItem(num: integer; rect: TfpgRect; flags: integer); override;
+ procedure HandleMouseMove(x, y: integer; btnstate: word; shiftstate: TShiftState); override;
+ procedure HandleLMouseDown(x, y: integer; shiftstate: TShiftState); override;
+ procedure HandleLMouseUp(x, y: integer; shiftstate: TShiftState); override;
+ procedure HandleSetFocus; override;
+ procedure HandleKillFocus; override;
+ procedure OnRowChange(Sender: TObject);
+ procedure OnUpdateProperty(Sender: TObject);
public
Props: TPropertyList;
NameWidth: integer;
@@ -105,12 +105,12 @@ type
NameDrag: boolean;
NameDragPos: integer;
BackgroundColor: TfpgColor;
- procedure ReleaseEditor;
- procedure AllocateEditor;
constructor Create(AOwner: TComponent); override;
- function ItemCount: integer; override;
- function RowHeight: integer; override;
- procedure RealignEditor;
+ procedure ReleaseEditor;
+ procedure AllocateEditor;
+ function ItemCount: integer; override;
+ function RowHeight: integer; override;
+ procedure RealignEditor;
end;
@@ -186,33 +186,32 @@ const
{@VFD_NEWFORM_IMPL}
procedure TfrmMain.AfterCreate;
-const
- cWidth = 635;
var
n: integer;
x: integer;
wgc: TVFDWidgetClass;
btn: TwgPaletteButton;
- mi: TfpgMenuItem;
begin
{@VFD_BODY_BEGIN: frmMain}
+ SetPosition(43, 40, 635, 87);
+ WindowTitle := 'frmMain';
WindowPosition := wpUser;
- WindowTitle := 'frmMain';
- SetPosition(0, 0, cWidth, 87);
MainMenu := TfpgMenuBar.Create(self);
with MainMenu do
begin
- SetPosition(0, 0, cWidth, 24);
- Anchors := [anTop, anLeft, anRight];
+ SetPosition(0, 0, 635, 24);
+ Anchors := [anLeft,anRight,anTop];
end;
btnNewForm := TfpgButton.Create(self);
with btnNewForm do
begin
SetPosition(4, 28, 25, 24);
- Text := '';
+ Text := '';
+ FontDesc := '#Label1';
ImageName := 'vfd.newform';
+ ModalResult := 0;
ShowImage := True;
Focusable := False;
OnClick := @(maindsgn.OnNewForm);
@@ -221,9 +220,11 @@ begin
btnOpen := TfpgButton.Create(self);
with btnOpen do
begin
- SetPosition(btnNewForm.Right+3, 28, 25, 24);
- Text := '';
+ SetPosition(30, 28, 25, 24);
+ Text := '';
+ FontDesc := '#Label1';
ImageName := 'stdimg.open';
+ ModalResult := 0;
ShowImage := True;
Focusable := False;
OnClick := @(maindsgn.OnLoadFile);
@@ -232,9 +233,11 @@ begin
btnSave := TfpgButton.Create(self);
with btnSave do
begin
- SetPosition(btnOpen.Right+3, 28, 25, 24);
- Text := '';
+ SetPosition(56, 28, 25, 24);
+ Text := '';
+ FontDesc := '#Label1';
ImageName := 'stdimg.save';
+ ModalResult := 0;
ShowImage := True;
Focusable := False;
OnClick := @(maindsgn.OnSaveFile);
@@ -243,8 +246,9 @@ begin
wgpalette := TwgPalette.Create(self);
with wgpalette do
begin
- SetPosition(116, 28, cWidth - 116, 28);
- Anchors := [anTop, anLeft, anRight];
+ SetPosition(116, 28, 519, 28);
+ Anchors := [anLeft,anRight,anTop];
+ Focusable := False;
end;
chlPalette := TfpgComboBox.Create(self);
@@ -252,13 +256,41 @@ begin
begin
SetPosition(116, 60, 200, 22);
Items.Add('-');
+ FontDesc := '#List';
FocusItem := 1;
end;
- {@VFD_BODY_END: frmMain}
+ filemenu := TfpgPopupMenu.Create(self);
+ with filemenu do
+ begin
+ SetPosition(464, 64, 120, 20);
+ AddMenuItem('New', '', @(maindsgn.OnNewFile));
+ AddMenuItem('Open', '', @(maindsgn.OnLoadFile));
+ AddMenuItem('Save', '', @(maindsgn.OnSaveFile));
+ AddMenuItem('-', '', nil);
+ AddMenuItem('New Form...', '', @(maindsgn.OnNewForm));
+ AddMenuItem('-', '', nil);
+ AddMenuItem('Exit', '', @(maindsgn.OnExit));
+ end;
+
+ formmenu := TfpgPopupMenu.Create(self);
+ with formmenu do
+ begin
+ SetPosition(464, 48, 120, 20);
+ AddMenuItem('Widget Order...', '', @(maindsgn.OnEditWidgetOrder));
+ AddMenuItem('-', '', nil);
+ AddMenuItem('Edit special...', '', nil);
+ end;
+
+ setmenu := TfpgPopupMenu.Create(self);
+ with setmenu do
+ begin
+ SetPosition(464, 29, 120, 20);
+ AddMenuItem('General options ...', '', @(maindsgn.OnOptionsClick));
+ end;
+ {@VFD_BODY_END: frmMain}
- wgpalette.Focusable := False;
x := 0;
for n := 1 to VFDWidgetCount do
@@ -279,39 +311,6 @@ begin
Inc(x, 32);
end;
- filemenu := TfpgPopupMenu.Create(self);
- with filemenu do
- begin
- mi := AddMenuItem('New', '', nil);
- mi.OnClick := @(maindsgn.OnNewFile);
- mi := AddMenuItem('Open', '', nil);
- mi.OnClick := @(maindsgn.OnLoadFile);
- mi := AddMenuItem('Save', '', nil);
- mi.OnClick := @(maindsgn.OnSaveFile);
- AddMenuItem('-', '', nil);
- mi := AddMenuItem('New Form...', '', nil);
- mi.OnClick := @(maindsgn.OnNewForm);
- AddMenuItem('-', '', nil);
- mi := AddMenuItem('Exit', '', nil);
- mi.OnClick := @(maindsgn.OnExit);
- end;
-
- formmenu := TfpgPopupMenu.Create(self);
- with formmenu do
- begin
- mi := AddMenuItem('Widget Order...', '', nil);
- mi.OnClick := @(maindsgn.OnEditWidgetOrder);
- AddMenuItem('-', '', nil);
- AddMenuItem('Edit special...', '', nil);
- end;
-
- setmenu := TfpgPopupMenu.Create(self);
- with setmenu do
- begin
- mi := AddMenuItem('General options ...', '', nil);
- mi.OnClick := @(maindsgn.OnOptionsClick);
- end;
-
MainMenu.AddMenuItem('&File', nil).SubMenu := filemenu;
MainMenu.AddMenuItem('&Settings', nil).SubMenu := setmenu;
MainMenu.AddMenuItem('Fo&rm', nil).SubMenu := formmenu;
@@ -364,7 +363,7 @@ begin
WindowPosition := wpUser;
WindowTitle := 'Properties';
- SetPosition(0, 120, 250, 450);
+ SetPosition(43, 150, 250, 450);
x := 3;
x2 := x + 50;
@@ -402,18 +401,18 @@ begin
btnLeft := CreateButton(self, 50, y - 2, 48, '1234', @(maindsgn.OnPropPosEdit));
with btnLeft do
begin
- Height := 22;
- btnLeft.Anchors := [anLeft, anBottom];
- Focusable := False;
+ Height := 22;
+ Anchors := [anLeft, anBottom];
+ Focusable := False;
end;
l4 := CreateLabel(self, 110, y, 'Top:');
l4.Anchors := [anLeft, anBottom];
btnTop := CreateButton(self, 160, y - 2, 48, '45', @(maindsgn.OnPropPosEdit));
with btnTop do
begin
- Height := 22;
- btnLeft.Anchors := [anLeft, anBottom];
- Focusable := False;
+ Height := 22;
+ Anchors := [anLeft, anBottom];
+ Focusable := False;
end;
Inc(y, gap + 5);
l5 := CreateLabel(self, 3, y + 1, 'Width:');
@@ -421,18 +420,18 @@ begin
btnWidth := CreateButton(self, 50, y - 2, 48, '1234', @(maindsgn.OnPropPosEdit));
with btnWidth do
begin
- Height := 22;
- btnLeft.Anchors := [anLeft, anBottom];
- Focusable := False;
+ Height := 22;
+ Anchors := [anLeft, anBottom];
+ Focusable := False;
end;
l6 := CreateLabel(self, 110, y, 'Height:');
l6.Anchors := [anLeft, anBottom];
btnHeight := CreateButton(self, 160, y - 2, 48, '45', @(maindsgn.OnPropPosEdit));
with btnHeight do
begin
- Height := 22;
- btnLeft.Anchors := [anLeft, anBottom];
- Focusable := False;
+ Height := 22;
+ Anchors := [anLeft, anBottom];
+ Focusable := False;
end;
Inc(y, gap + 5);
diff --git a/examples/apps/uidesigner/vfdforms.pas b/examples/apps/uidesigner/vfdforms.pas
index 4e53e18e..6cc5a263 100644
--- a/examples/apps/uidesigner/vfdforms.pas
+++ b/examples/apps/uidesigner/vfdforms.pas
@@ -31,9 +31,7 @@ uses
gui_edit,
gui_button,
gui_listbox,
- gui_memo,
- gui_combobox,
- gui_checkbox;
+ gui_combobox;
type
@@ -99,18 +97,6 @@ type
end;
- TfrmLoadSave = class(TfpgForm)
- public
- {@VFD_HEAD_BEGIN: frmLoadSave}
- lb1: TfpgLabel;
- edFileName: TfpgEdit;
- btnOK: TfpgButton;
- btnCancel: TfpgButton;
- {@VFD_HEAD_END: frmLoadSave}
- procedure AfterCreate; override;
- end;
-
-
TfrmVFDSetup = class(TfpgForm)
public
{@VFD_HEAD_BEGIN: frmVFDSetup}
@@ -123,41 +109,8 @@ type
end;
- TMainForm = class(TfpgForm)
- public
- l1: TfpgLabel;
- l2: TfpgLabel;
- edFormFile: TfpgEdit;
- btnSave: TfpgButton;
- btnLoad: TfpgButton;
- btnNewForm: TfpgButton;
- chlGrid: TfpgComboBox;
- procedure AfterCreate; override;
- end;
-
-
- TPropertyForm = class(TfpgForm)
- protected
- procedure HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: boolean); override;
- public
- l1, l2, l3, l4, l5, l6, l7, l8: TfpgLabel;
- lbClass: TfpgLabel;
- edName: TfpgEdit;
- lbText: TfpgLabel;
- edText: TfpgEdit;
- btnEdit: TfpgButton;
- lbTop, lbLeft, lbWidth, lbHeight: TfpgLabel;
- btnTop, btnLeft, btnWidth, btnHeight: TfpgButton;
- cbAL, cbAT, cbAR, cbAB: TfpgCheckBox;
- edOther: TfpgMemo;
- procedure AfterCreate; override;
- end;
-
-
var
PaletteForm: TPaletteForm;
- //MainForm : TMainForm;
- //PropertyForm : TPropertyForm;
function GridResolution: integer;
@@ -204,142 +157,6 @@ begin
clist.OnChange := @(maindsgn.OnPaletteChange);
end;
-{ TPropertyForm }
-
-procedure TPropertyForm.AfterCreate;
-var
- x, x2, w, y, gap: integer;
-begin
- inherited AfterCreate;
- WindowPosition := wpUser;
- WindowTitle := 'Properties';
- SetPosition(10, 80, 250, 320);
-
- x := 3;
- x2 := x + 90;
- gap := 22;
- w := Width - x2 - 3;
- y := 3;
-
- l1 := CreateLabel(self, x, y, 'Class name:');
- lbClass := CreateLabel(self, x2, y, 'CLASS');
- lbClass.Width := w;
- lbClass.FontDesc := '#Label2';
-
- Inc(y, gap);
-
- l2 := CreateLabel(self, x, y, 'Name:');
- edName := CreateEdit(self, x2, y, w, 0);
- edName.Text := 'NAME';
- edName.Anchors := [anLeft, anRight, anTop];
-
- Inc(y, gap);
- lbText := CreateLabel(self, x, y, 'Text/Items:');
- edText := CreateEdit(self, x2, y, w, 0);
- edText.Text := 'Text';
- edText.Anchors := [anLeft, anRight, anTop];
-
- btnEdit := CreateButton(self, x2, y, 100, 'Edit...', nil);
-
- Inc(y, 2 * gap);
- l3 := CreateLabel(self, x, y, 'Left:');
- lbLeft := CreateLabel(self, x2, y, 'Left');
- lbLeft.Width := 50;
- btnLeft := CreateButton(self, x2 + 50, y - 2, 30, '...', @maindsgn.OnPropPosEdit);
- btnLeft.Height := 20;
- Inc(y, gap);
- l4 := CreateLabel(self, x, y, 'Top:');
- lbTop := CreateLabel(self, x2, y, 'Top');
- lbTop.Width := 50;
- btnTop := CreateButton(self, x2 + 50, y - 2, 30, '...', @maindsgn.OnPropPosEdit);
- btnTop.Height := 20;
- Inc(y, gap);
- l5 := CreateLabel(self, x, y, 'Width:');
- lbWidth := CreateLabel(self, x2, y, 'w');
- lbWidth.Width := 50;
- btnWidth := CreateButton(self, x2 + 50, y - 2, 30, '...', @maindsgn.OnPropPosEdit);
- btnWidth.Height := 20;
- Inc(y, gap);
- l6 := CreateLabel(self, x, y, 'Height:');
- lbHeight := CreateLabel(self, x2, y, 'h');
- lbHeight.Width := 50;
- btnHeight := CreateButton(self, x2 + 50, y - 2, 30, '...', @maindsgn.OnPropPosEdit);
- btnHeight.Height := 20;
-
- Inc(y, gap);
- l6 := CreateLabel(self, x, y, 'Anchors:');
-
- cbAL := CreateCheckBox(self, x2, y, 'L');
- cbAT := CreateCheckBox(self, x2 + 36, y, 'T');
- cbAR := CreateCheckBox(self, x2 + 2 * 36, y, 'R');
- cbAB := CreateCheckBox(self, x2 + 3 * 36, y, 'B');
-
- Inc(y, gap);
- l7 := CreateLabel(self, x, y, 'Other settings:');
-
- edOther := TfpgMemo.Create(self);
- edOther.SetPosition(x, y + gap, self.Width - 2 * x, self.Height - x - y - gap);
- edOther.Anchors := AllAnchors;
- edOther.FontDesc := '#Edit2';
-
- // lbHeight := CreateLabel(self, x2,y, 'h');
- // lbHeight.Width := w;
-
- edText.OnChange := @maindsgn.OnPropTextChange;
- edName.OnChange := @maindsgn.OnPropNameChange;
-
- cbAL.OnChange := @maindsgn.OnAnchorChange;
- cbAT.OnChange := @maindsgn.OnAnchorChange;
- cbAR.OnChange := @maindsgn.OnAnchorChange;
- cbAB.OnChange := @maindsgn.OnAnchorChange;
-
- edOther.OnChange := @maindsgn.OnOtherChange;
- btnEdit.OnClick := @maindsgn.OnEditWidget;
-end;
-
-procedure TPropertyForm.HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: boolean);
-begin
- if (keycode = keyEnter) or (keycode = keyF11) then
- begin
- if maindsgn.selectedform <> nil then
- maindsgn.selectedform.Form.SetFocus;
-// GfxActivateWindow(maindsgn.selectedform.Form.WinHandle);
- consumed := True;
- end
- else
- inherited;
-end;
-
-{ TMainForm }
-
-procedure TMainForm.AfterCreate;
-begin
- inherited AfterCreate;
- WindowPosition := wpUser;
- WindowTitle := 'fpGUI Designer';
- SetPosition(0, 0, 550, 50);
-
- l1 := CreateLabel(self, 5, 5, 'File name:');
-
- edFormFile := CreateEdit(self, 5, 5 + 20, 250, 0);
-// edFormFile.Text := './aanewform.pas';
-
- btnSave := CreateButton(self, 270, 12, 50, 'Save', nil);
- btnLoad := CreateButton(self, 330, 12, 50, 'Load', nil);
-
- l1 := CreateLabel(self, 400, 5, 'Grid:');
- chlGrid := CreateComboBox(self, 400, 5 + 20, 50, nil);
- chlGrid.Items.Add('1');
- chlGrid.Items.Add('4');
- chlGrid.Items.Add('8');
- chlGrid.FocusItem := 2;
-
- btnNewForm := CreateButton(self, 460, 12, 80, 'New Form', nil);
-
- btnSave.OnClick := @maindsgn.OnSaveFile;
- btnLoad.OnClick := @maindsgn.OnLoadFile;
- btnNewForm.OnClick := @ maindsgn.OnNewForm;
-end;
{ TInsertCustomForm }
@@ -535,58 +352,6 @@ begin
inherited HandleKeyPress(keycode, shiftstate, consumed);
end;
-{ TfrmLoadSave }
-
-procedure TfrmLoadSave.AfterCreate;
-begin
- {@VFD_BODY_BEGIN: frmLoadSave}
- SetPosition(276, 141, 300, 95);
- WindowTitle := 'Form file';
-
- lb1 := TfpgLabel.Create(self);
- with lb1 do
- begin
- SetPosition(8, 8, 80, 16);
- Text := 'File name:';
- FontDesc := '#Label1';
- end;
-
- edFileName := TfpgEdit.Create(self);
- with edFileName do
- begin
- SetPosition(8, 28, 280, 22);
- Anchors := [anLeft, anRight, anTop];
- Text := '';
- FontDesc := '#Edit1';
- end;
-
- btnOK := TfpgButton.Create(self);
- with btnOK do
- begin
- SetPosition(8, 60, 96, 24);
- Anchors := [anLeft, anBottom];
- Text := 'OK';
- FontDesc := '#Label1';
- ImageName := 'stdimg.ok';
- ShowImage := True;
- ModalResult := 1;
- end;
-
- btnCancel := TfpgButton.Create(self);
- with btnCancel do
- begin
- SetPosition(192, 60, 96, 24);
- Anchors := [anRight, anBottom];
- Text := 'Cancel';
- FontDesc := '#Label1';
- ImageName := 'stdimg.cancel';
- ShowImage := True;
- ModalResult := -1;
- end;
-
- {@VFD_BODY_END: frmLoadSave}
-end;
-
procedure TfrmVFDSetup.AfterCreate;
begin
{@VFD_BODY_BEGIN: frmVFDSetup}
diff --git a/examples/apps/uidesigner/vfdmain.pas b/examples/apps/uidesigner/vfdmain.pas
index e59026d4..4d2648f3 100644
--- a/examples/apps/uidesigner/vfdmain.pas
+++ b/examples/apps/uidesigner/vfdmain.pas
@@ -48,28 +48,28 @@ type
SaveComponentNames: boolean;
selectedform: TFormDesigner;
constructor Create;
- destructor Destroy; override;
- procedure CreateWindows;
- procedure SelectForm(aform: TFormDesigner);
- function Designer(index: integer): TFormDesigner;
- function DesignerCount: integer;
- function NewFormName: string;
- procedure CreateParseForm(const FormName, FormHead, FormBody: string);
- procedure OnNewForm(Sender: TObject);
- procedure OnNewFile(Sender: TObject);
- procedure OnSaveFile(Sender: TObject);
- procedure OnLoadFile(Sender: TObject);
- procedure OnPaletteChange(Sender: TObject);
- procedure OnPropTextChange(Sender: TObject);
- procedure OnPropNameChange(Sender: TObject);
- procedure OnPropPosEdit(Sender: TObject);
- procedure OnOtherChange(Sender: TObject);
- procedure OnAnchorChange(Sender: TObject);
- procedure OnEditWidget(Sender: TObject);
- procedure OnEditWidgetOrder(Sender: TObject);
- procedure OnExit(Sender: TObject);
- procedure OnOptionsClick(Sender: TObject);
- property EditedFileName: string read FEditedFileName write SetEditedFileName;
+ destructor Destroy; override;
+ procedure CreateWindows;
+ procedure SelectForm(aform: TFormDesigner);
+ function Designer(index: integer): TFormDesigner;
+ function DesignerCount: integer;
+ function NewFormName: string;
+ procedure CreateParseForm(const FormName, FormHead, FormBody: string);
+ procedure OnNewForm(Sender: TObject);
+ procedure OnNewFile(Sender: TObject);
+ procedure OnSaveFile(Sender: TObject);
+ procedure OnLoadFile(Sender: TObject);
+ procedure OnPaletteChange(Sender: TObject);
+ procedure OnPropTextChange(Sender: TObject);
+ procedure OnPropNameChange(Sender: TObject);
+ procedure OnPropPosEdit(Sender: TObject);
+ procedure OnOtherChange(Sender: TObject);
+ procedure OnAnchorChange(Sender: TObject);
+ procedure OnEditWidget(Sender: TObject);
+ procedure OnEditWidgetOrder(Sender: TObject);
+ procedure OnExit(Sender: TObject);
+ procedure OnOptionsClick(Sender: TObject);
+ property EditedFileName: string read FEditedFileName write SetEditedFileName;
end;