lazarus/test/customdrawn/mainform.pas
sekelsenmat fa97d8430e customdrawn: Adds toolbar to test case
git-svn-id: trunk@52769 -
2016-08-01 20:00:50 +00:00

238 lines
6.5 KiB
ObjectPascal

unit mainform;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, customdrawncontrols, customdrawndrawers, Forms,
Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons, Spin;
type
{ TForm1 }
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Button1: TButton;
Button2: TButton;
Button3: TButton;
CDButton1: TCDButton;
buttonGlyphAndroid: TCDButton;
CDButton2: TCDButton;
CDButton3: TCDButton;
CDButton4: TCDButton;
CDButton5: TCDButton;
CDButton6: TCDButton;
CDButton7: TCDButton;
buttonGlyphWinCE: TCDButton;
buttonGlyphWinXP: TCDButton;
CDButton8: TCDButton;
CDCheckBox1: TCDCheckBox;
CDCheckBox2: TCDCheckBox;
CDCheckBox3: TCDCheckBox;
CDCheckBox4: TCDCheckBox;
CDCheckBox5: TCDCheckBox;
CDCheckBox6: TCDCheckBox;
CDCheckBox7: TCDCheckBox;
CDCheckBox8: TCDCheckBox;
CDEdit2: TCDEdit;
CDRadioButton4: TCDRadioButton;
CDRadioButton5: TCDRadioButton;
CDRadioButton6: TCDRadioButton;
comboWinXP: TCDComboBox;
comboDefault: TCDComboBox;
comboAndroid: TCDComboBox;
CDEdit1: TCDEdit;
editWinCE: TCDEdit;
CDEdit3: TCDEdit;
CDSpinEdit1: TCDSpinEdit;
CDTabControl1: TCDTabControl;
ComboBox1: TComboBox;
Edit2: TEdit;
editAndroid: TCDEdit;
FloatSpinEdit1: TFloatSpinEdit;
GroupBox4: TGroupBox;
pageSpins: TPage;
sbCommon1: TCDScrollBar;
sbCommon2: TCDScrollBar;
SpinEdit1: TSpinEdit;
TabControl1: TTabControl;
trackScrollBarPageSize: TCDTrackBar;
CheckBox2: TCheckBox;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
listviewCommon: TCDListView;
progressCommon3: TCDProgressBar;
progressCommon2: TCDProgressBar;
progressCommon4: TCDProgressBar;
progressNative2: TProgressBar;
progressNative4: TProgressBar;
progressCommon1: TCDProgressBar;
CDRadioButton1: TCDRadioButton;
CDRadioButton2: TCDRadioButton;
CDRadioButton3: TCDRadioButton;
CDStaticText1: TCDStaticText;
CDTrackBar2: TCDTrackBar;
sbNative1: TScrollBar;
sbNative2: TScrollBar;
trackChangeProgress: TCDTrackBar;
CDTrackBar4: TCDTrackBar;
editWinXP: TCDEdit;
CDGroupBox1: TCDGroupBox;
CDGroupBox2: TCDGroupBox;
CDPageControl1: TCDPageControl;
CDPageControl2: TCDPageControl;
CDTabSheet1: TCDTabSheet;
CDTabSheet2: TCDTabSheet;
CDTabSheet3: TCDTabSheet;
CDTabSheet4: TCDTabSheet;
CDTabSheet5: TCDTabSheet;
CheckBox1: TCheckBox;
comboControls: TComboBox;
Edit1: TEdit;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
ListView1: TListView;
Memo1: TMemo;
memoLog: TMemo;
notebookControls: TNotebook;
pageToolBars: TPage;
pageUpDowns: TPage;
pageListViews: TPage;
pageStatusBars: TPage;
pageScrollBars: TPage;
pageToggleBoxes: TPage;
pageComboBoxes: TPage;
pageStaticTexts: TPage;
pageMenu: TPage;
pagePopUp: TPage;
pageEditMultiline: TPage;
pageRadioButton: TPage;
pagePanels: TPage;
pageButtonGlyph: TPage;
pageListBoxes: TPage;
pageProgressBars: TPage;
pageButtons: TPage;
PageControl1: TPageControl;
pageEdits: TPage;
pageCheckboxes: TPage;
pageGroupBoxes: TPage;
pageTrackBars: TPage;
pagePageControls: TPage;
pageTabControls: TPage;
Panel1: TPanel;
progressNative1: TProgressBar;
progressNative3: TProgressBar;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ToggleBox1: TToggleBox;
TrackBar1: TTrackBar;
CDTrackBar1: TCDTrackBar;
TrackBar2: TTrackBar;
procedure comboControlsChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure HandleClick(Sender: TObject);
procedure trackChangeProgressChange(Sender: TObject);
procedure trackScrollBarPageSizeChange(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.comboControlsChange(Sender: TObject);
begin
notebookControls.PageIndex := comboControls.ItemIndex;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
lItem: TCDListItems;
lToolbar: TCDToolbar;
begin
// We still dont have a property editor for this
lItem := listviewCommon.Items.Add('First', -1, -1);
lItem.Add('FirstSub1', -1, -1);
lItem.Add('FirstSub2', -1, -1);
lItem.Add('FirstSub3', -1, -1);
lItem := listviewCommon.Items.Add('Second', -1, -1);
lItem.Add('SecSub1', -1, -1);
lItem := listviewCommon.Items.Add('Third', -1, -1);
lItem.Add('3rdSub1', -1, -1);
lItem := listviewCommon.Items.Add('Fourth', -1, -1);
lItem.Add('4thSub1', -1, -1);
lItem.Add('4thSub2', -1, -1);
// Toolbar has no design time control right now
lToolbar := TCDToolbar.Create(Self);
lToolbar.Parent := pageToolbars;
lToolbar.AddItem(tikButton);
lToolbar.AddItem(tikCheckButton);
lToolbar.AddItem(tikDropDownButton);
lToolbar.AddItem(tikSeparator);
lToolbar.AddItem(tikDivider);
end;
procedure TForm1.HandleClick(Sender: TObject);
begin
memoLog.Lines.Add(Format('%s: %s OnClick', [TControl(Sender).Name, TControl(Sender).ClassName]));
end;
procedure TForm1.trackChangeProgressChange(Sender: TObject);
begin
progressNative1.Position := trackChangeProgress.Position;
progressNative2.Position := trackChangeProgress.Position;
progressNative3.Position := trackChangeProgress.Position;
progressNative4.Position := trackChangeProgress.Position;
progressCommon1.Position := trackChangeProgress.Position;
progressCommon2.Position := trackChangeProgress.Position;
progressCommon3.Position := trackChangeProgress.Position;
progressCommon4.Position := trackChangeProgress.Position;
end;
procedure TForm1.trackScrollBarPageSizeChange(Sender: TObject);
begin
sbNative1.PageSize := trackScrollBarPageSize.Position;
sbNative2.PageSize := trackScrollBarPageSize.Position;
sbCommon1.PageSize := trackScrollBarPageSize.Position;
sbCommon2.PageSize := trackScrollBarPageSize.Position;
end;
end.