-
Notifications
You must be signed in to change notification settings - Fork 0
/
boardchangedui.pas
92 lines (75 loc) · 3.14 KB
/
boardchangedui.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
UNIT boardChangedUi;
{$mode objfpc}{$H+}
INTERFACE
USES
Classes, sysutils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,workspaces;
TYPE
{ TboardChangedDialog }
TboardChangedDialog = class(TForm)
CancelButton: TShape;
updatePaletteLabel: TLabel;
propIgnoreButton: TShape;
ignoreLabel: TLabel;
updatePaletteButton: TShape;
boardWasChangedLabel: TLabel;
CancelLabel: TLabel;
PROCEDURE cancelButtonMouseDown(Sender: TObject; button: TMouseButton; Shift: TShiftState; X, Y: integer);
PROCEDURE ignoreLabelMouseDown(Sender: TObject; button: TMouseButton; Shift: TShiftState; X, Y: integer);
PROCEDURE updatePaletteButtonMouseDown(Sender: TObject; button: TMouseButton; Shift: TShiftState; X, Y: integer);
private
public
FUNCTION showFor(CONST state: T_workspaceStateEnum):TModalResult;
end;
FUNCTION boardChangedDialog: TboardChangedDialog;
IMPLEMENTATION
USES visuals;
VAR myBoardChangedDialog:TboardChangedDialog=nil;
FUNCTION boardChangedDialog: TboardChangedDialog;
begin
if myBoardChangedDialog=nil then myBoardChangedDialog:=TboardChangedDialog.create(nil);
result:=myBoardChangedDialog;
end;
{$R *.lfm}
{ TboardChangedDialog }
PROCEDURE TboardChangedDialog.cancelButtonMouseDown(Sender: TObject; button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
ModalResult:=mrCancel;
end;
PROCEDURE TboardChangedDialog.ignoreLabelMouseDown(Sender: TObject; button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
ModalResult:=mrIgnore;
end;
PROCEDURE TboardChangedDialog.updatePaletteButtonMouseDown(Sender: TObject; button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
ModalResult:=mrYes;
end;
FUNCTION TboardChangedDialog.showFor(CONST state: T_workspaceStateEnum): TModalResult;
begin
case state of
editingNewBoard : begin
boardWasChangedLabel.caption:='Die aktuelle Schaltung wurde geändert.';
updatePaletteLabel.caption:='Paletteneintrag'+LineEnding+'aktuallisieren';
setEnableButton(updatePaletteButton,updatePaletteLabel,false);
end;
editingPaletteEntry : begin
boardWasChangedLabel.caption:='Die aktuelle Schaltung wurde geändert.';
updatePaletteLabel.caption:='Paletteneintrag'+LineEnding+'aktuallisieren';
setEnableButton(updatePaletteButton,updatePaletteLabel,true);
end;
editingChallengeTemplate: begin
boardWasChangedLabel.caption:='Die Aufgabe (Lösungsvorgabe) wurde geändert.';
updatePaletteLabel.caption:='Aufgabe'+LineEnding+'aktualisieren';
setEnableButton(updatePaletteButton,updatePaletteLabel,true);
end;
editingChallengeSolution: begin
boardWasChangedLabel.caption:='Die Aufgabe (Lösung) wurde geändert.';
updatePaletteLabel.caption:='Aufgabe'+LineEnding+'aktualisieren';
setEnableButton(updatePaletteButton,updatePaletteLabel,true);
end;
end;
applyColorScheme(self);
result:=ShowModal;
end;
FINALIZATION
if myBoardChangedDialog<>nil then FreeAndNil(myBoardChangedDialog);
end.