From 6a740a9273abb84f7bf1c926628b819039cbc6a1 Mon Sep 17 00:00:00 2001 From: graemeg Date: Mon, 10 Sep 2007 15:00:43 +0000 Subject: * GUI Designer: removed obsolete code. * GUI Designer: Most forms in the designer are now maintained by the designer. --- examples/apps/uidesigner/newformdesigner.pas | 179 ++++++++++---------- examples/apps/uidesigner/vfdforms.pas | 237 +-------------------------- examples/apps/uidesigner/vfdmain.pas | 44 ++--- 3 files changed, 112 insertions(+), 348 deletions(-) (limited to 'examples') 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; -- cgit v1.2.3-70-g09d2