Files
lazarus-ccr/components/spktoolbar/demos/actions/unit1.pas
blikblum 66fca396af * Add new demos. patch by Werner Pamler
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2448 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-06-04 01:06:42 +00:00

220 lines
5.0 KiB
ObjectPascal

unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ActnList,
StdActns, StdCtrls, Menus, ComCtrls, ExtCtrls,
SpkToolbar, spkt_Buttons, spkt_Checkboxes, spkt_Pane, spkt_Tab, spkt_Appearance;
type
{ TForm1 }
TForm1 = class(TForm)
AcOpen: TAction;
AcClassicalGUI: TAction;
AcRibbonGUI: TAction;
AcSave: TAction;
AcQuit: TAction;
AcAutoSave: TAction;
AcSaveNow: TAction;
ActionList: TActionList;
AcEditCopy: TEditCopy;
AcEditCut: TEditCut;
AcEditPaste: TEditPaste;
ImageList: TImageList;
Label1: TLabel;
LargeImageList: TImageList;
MainMenu: TMainMenu;
MenuItem1: TMenuItem;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem13: TMenuItem;
MenuItem14: TMenuItem;
MenuItem15: TMenuItem;
MenuItem16: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
Panel1: TPanel;
SpkCheckbox1: TSpkCheckbox;
SpkLargeButton1: TSpkLargeButton;
SpkLargeButton2: TSpkLargeButton;
SpkLargeButton3: TSpkLargeButton;
SpkPane1: TSpkPane;
SpkPane2: TSpkPane;
SpkPane5: TSpkPane;
SpkPane6: TSpkPane;
SpkRadioButton1: TSpkRadioButton;
SpkRadioButton2: TSpkRadioButton;
SpkSmallButton1: TSpkSmallButton;
SpkSmallButton2: TSpkSmallButton;
SpkSmallButton5: TSpkSmallButton;
SpkSmallButton7: TSpkSmallButton;
SpkTab1: TSpkTab;
SpkTab2: TSpkTab;
SpkTab3: TSpkTab;
SpkToolbar1: TSpkToolbar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
procedure AcAutoSaveExecute(Sender: TObject);
procedure AcClassicalGUIExecute(Sender: TObject);
procedure AcEditCopyExecute(Sender: TObject);
procedure AcEditCutExecute(Sender: TObject);
procedure AcEditPasteExecute(Sender: TObject);
procedure AcOpenExecute(Sender: TObject);
procedure AcQuitExecute(Sender: TObject);
procedure AcRibbonGUIExecute(Sender: TObject);
procedure AcSaveExecute(Sender: TObject);
procedure AcSaveNowExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
procedure LoadFromIni;
procedure SaveToIni;
procedure SetUserInterface(Ribbon:boolean);
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
uses
inifiles;
{ TForm1 }
procedure TForm1.AcClassicalGUIExecute(Sender: TObject);
begin
SetUserInterface(false);
end;
procedure TForm1.AcAutoSaveExecute(Sender: TObject);
begin
// Checked is handled by "AutoCheck". Need this method to have the action enabled.
end;
procedure TForm1.AcEditCopyExecute(Sender: TObject);
begin
Label1.Caption := '"Copy" clicked';
end;
procedure TForm1.AcEditCutExecute(Sender: TObject);
begin
Label1.Caption := '"Cut" clicked';
end;
procedure TForm1.AcEditPasteExecute(Sender: TObject);
begin
Label1.Caption := '"Paste" clicked';
end;
procedure TForm1.AcOpenExecute(Sender: TObject);
begin
Label1.Caption := '"Open" clicked';
end;
procedure TForm1.AcQuitExecute(Sender: TObject);
begin
Close;
end;
procedure TForm1.AcRibbonGUIExecute(Sender: TObject);
begin
SetUserInterface(true);
end;
procedure TForm1.AcSaveExecute(Sender: TObject);
begin
Label1.Caption := '"Save" clicked';
end;
procedure TForm1.AcSaveNowExecute(Sender: TObject);
begin
SaveToIni;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
if CanClose then
if MessageDlg('Do you really want to close this application?', mtConfirmation,
[mbYes, mbNo], 0) <> mrYes
then
CanClose := false;
if CanClose then
if AcAutoSave.Checked then
SaveToIni;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetUserInterface(true);
Label1.Caption := '';
LoadFromIni;
end;
procedure TForm1.LoadFromIni;
var
ini: TCustomIniFile;
begin
ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
try
SetUserInterface(ini.ReadBool('MainForm', 'RibbonInterface', AcRibbonGUI.Checked));
finally
ini.Free;
end;
end;
procedure TForm1.SaveToIni;
var
ini: TCustomIniFile;
begin
ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
try
ini.WriteBool('MainForm', 'RibbonInterface', AcRibbonGUI.Checked);
finally
ini.Free;
end;
end;
procedure TForm1.SetUserInterface(Ribbon: boolean);
begin
if Ribbon then begin
Menu := nil;
Toolbar1.Hide;
SpkToolbar1.Show;
AcRibbonGUI.Checked := true;
end else begin
SpkToolbar1.Hide;
Menu := MainMenu;
Toolbar1.Show;
AcClassicalGUI.Checked := true;
end;
end;
end.