You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2448 8e941d3f-bd1b-0410-a28a-d453659cc2b4
220 lines
5.0 KiB
ObjectPascal
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.
|
|
|