RxFPC:default editor for RxToolPanel
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6756 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
48e5ae174f
commit
246fee7828
@ -80,27 +80,48 @@ type
|
||||
procedure ExecuteVerb(Index:integer);override;
|
||||
end;
|
||||
|
||||
(*
|
||||
{ TRxAppIcon }
|
||||
{ TToolPanelEditor }
|
||||
|
||||
TRxAppIconEditor = class(TComponentEditor)
|
||||
TToolPanelEditor = class(TComponentEditor)
|
||||
public
|
||||
DefaultEditor: TBaseComponentEditor;
|
||||
constructor Create(AComponent: TComponent; ADesigner: TComponentEditorDesigner); override;
|
||||
destructor Destroy; override;
|
||||
function GetVerbCount:integer;override;
|
||||
function GetVerb(Index:integer):string;override;
|
||||
procedure ExecuteVerb(Index:integer);override;
|
||||
end;
|
||||
*)
|
||||
|
||||
procedure Register;
|
||||
implementation
|
||||
uses RxLogin, Dialogs, rxconst, RxHistoryNavigator, rxpopupunit,
|
||||
uses RxLogin, Dialogs, rxconst, RxHistoryNavigator, rxpopupunit, rxtoolbar,
|
||||
rxceEditLookupFields, rxdbgrid, rxdconst, rxduallist, rxstrutils, Forms;
|
||||
|
||||
resourcestring
|
||||
sTestTRxLoginDialog = 'Test TRxLoginDialog';
|
||||
// sLoadIcon = 'Load icon';
|
||||
|
||||
{ TToolPanelEditor }
|
||||
|
||||
function TToolPanelEditor.GetVerbCount: integer;
|
||||
begin
|
||||
Result:=1;
|
||||
end;
|
||||
|
||||
function TToolPanelEditor.GetVerb(Index: integer): string;
|
||||
begin
|
||||
if Index = 0 then Result:=sRxToolPanelEditor
|
||||
else Result:='';
|
||||
end;
|
||||
|
||||
procedure TToolPanelEditor.ExecuteVerb(Index: integer);
|
||||
var
|
||||
ToolPanel: TToolPanel;
|
||||
begin
|
||||
if Index = 0 then
|
||||
begin
|
||||
ToolPanel:=GetComponent as TToolPanel;
|
||||
TCollectionPropertyEditor.ShowCollectionEditor(ToolPanel.Items, ToolPanel, 'Items');
|
||||
end
|
||||
else
|
||||
inherited ExecuteVerb(Index);
|
||||
end;
|
||||
|
||||
|
||||
{ TRxLoginDialogEditor }
|
||||
@ -154,74 +175,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
(*
|
||||
{ TRxAppIcon }
|
||||
|
||||
type
|
||||
PClass = ^TClass;
|
||||
|
||||
constructor TRxAppIconEditor.Create(AComponent: TComponent;
|
||||
ADesigner: TComponentEditorDesigner);
|
||||
var
|
||||
CompClass: TClass;
|
||||
begin
|
||||
inherited Create(AComponent, ADesigner);
|
||||
CompClass := PClass(Acomponent)^;
|
||||
try
|
||||
PClass(AComponent)^ := TComponent;
|
||||
DefaultEditor := GetComponentEditor(AComponent, ADesigner);
|
||||
finally
|
||||
PClass(AComponent)^ := CompClass;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TRxAppIconEditor.Destroy;
|
||||
begin
|
||||
DefaultEditor.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TRxAppIconEditor.GetVerbCount: integer;
|
||||
begin
|
||||
Result:=DefaultEditor.GetVerbCount + 1;
|
||||
end;
|
||||
|
||||
function TRxAppIconEditor.GetVerb(Index: integer): string;
|
||||
begin
|
||||
if Index < DefaultEditor.GetVerbCount then
|
||||
Result := DefaultEditor.GetVerb(Index)
|
||||
else
|
||||
begin
|
||||
case Index - DefaultEditor.GetVerbCount of
|
||||
0:Result:=sLoadIcon;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TRxAppIconEditor.ExecuteVerb(Index: integer);
|
||||
var
|
||||
OpenDialog1: TOpenDialog;
|
||||
begin
|
||||
if Index < DefaultEditor.GetVerbCount then
|
||||
DefaultEditor.ExecuteVerb(Index)
|
||||
else
|
||||
begin
|
||||
case Index - DefaultEditor.GetVerbCount of
|
||||
0:begin
|
||||
OpenDialog1:=TOpenDialog.Create(nil);
|
||||
OpenDialog1.Filter:=sWindowsIcoFiles;
|
||||
try
|
||||
if OpenDialog1.Execute then
|
||||
(Component as TRxAppIcon).LoadFromFile(OpenDialog1.FileName);
|
||||
finally
|
||||
OpenDialog1.Free;
|
||||
end;
|
||||
Modified;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
{ THistoryButtonProperty }
|
||||
|
||||
function THistoryButtonProperty.GetAttributes: TPropertyAttributes;
|
||||
@ -354,7 +308,8 @@ procedure Register;
|
||||
begin
|
||||
//
|
||||
RegisterComponentEditor(TRxLoginDialog, TRxLoginDialogEditor);
|
||||
//RegisterComponentEditor(TRxAppIcon, TRxAppIconEditor);
|
||||
RegisterComponentEditor(TToolPanel, TToolPanelEditor);
|
||||
|
||||
//
|
||||
RegisterPropertyEditor(TypeInfo(string), TPopUpColumn, 'FieldName', TPopUpColumnFieldProperty);
|
||||
RegisterPropertyEditor(TypeInfo(string), TRxHistoryNavigator, 'BackBtn', THistoryButtonProperty);
|
||||
|
@ -254,6 +254,10 @@ msgstr ""
|
||||
msgid "Rx text holder editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.srxtoolpaneleditor
|
||||
msgid "Rx toolpanel editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.ssecondhalfofyear
|
||||
msgid "Second half of year"
|
||||
msgstr ""
|
||||
|
@ -261,6 +261,10 @@ msgstr ""
|
||||
msgid "Rx text holder editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.srxtoolpaneleditor
|
||||
msgid "Rx toolpanel editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.ssecondhalfofyear
|
||||
msgid "Second half of year"
|
||||
msgstr "Druga połowa roku"
|
||||
|
@ -251,6 +251,10 @@ msgstr ""
|
||||
msgid "Rx text holder editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.srxtoolpaneleditor
|
||||
msgid "Rx toolpanel editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.ssecondhalfofyear
|
||||
msgid "Second half of year"
|
||||
msgstr ""
|
||||
|
@ -261,6 +261,10 @@ msgstr "Название"
|
||||
msgid "Rx text holder editor"
|
||||
msgstr "Редактор RxTextHolder"
|
||||
|
||||
#: rxconst.srxtoolpaneleditor
|
||||
msgid "Rx toolpanel editor"
|
||||
msgstr "Редактор RxToolPanel"
|
||||
|
||||
#: rxconst.ssecondhalfofyear
|
||||
msgid "Second half of year"
|
||||
msgstr "Вторая половина года"
|
||||
|
@ -267,6 +267,10 @@ msgstr ""
|
||||
msgid "Rx text holder editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.srxtoolpaneleditor
|
||||
msgid "Rx toolpanel editor"
|
||||
msgstr ""
|
||||
|
||||
#: rxconst.ssecondhalfofyear
|
||||
msgid "Second half of year"
|
||||
msgstr ""
|
||||
|
@ -54,8 +54,8 @@ type
|
||||
|
||||
TRXHistory = class(TComponent)
|
||||
private
|
||||
FButtonNext: string;
|
||||
FButtonPrior: string;
|
||||
//FButtonNext: string;
|
||||
//FButtonPrior: string;
|
||||
FButtonStyle: TToolbarButtonStyleCntrl;
|
||||
FNextButton: TToolbarItem;
|
||||
FNextButtonName: string;
|
||||
@ -138,8 +138,6 @@ begin
|
||||
end;
|
||||
|
||||
function TRXHistory.SetBtn(const ABtnName: string;var Button:TToolbarItem):boolean;
|
||||
var
|
||||
i:integer;
|
||||
begin
|
||||
Result:=false;
|
||||
if not Assigned(FToolPanel) then exit;
|
||||
|
@ -83,7 +83,6 @@ type
|
||||
procedure FillItems(List:TStrings; AVisible:boolean);
|
||||
procedure UpdateStates;
|
||||
procedure Localize;
|
||||
procedure UpdateToolbarOrder;
|
||||
public
|
||||
FToolPanel:TToolPanel;
|
||||
constructor CreateSetupForm(AToolPanel:TToolPanel);
|
||||
@ -206,13 +205,11 @@ begin
|
||||
if Act is TCustomAction then
|
||||
begin
|
||||
A:=TCustomAction(Act).ShortCut;
|
||||
// Hide;
|
||||
if RxSelectShortCut(A) then
|
||||
begin
|
||||
TCustomAction(Act).ShortCut:=A;
|
||||
TListBox(Sender).Invalidate;
|
||||
end;
|
||||
// Show;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -281,29 +278,6 @@ begin
|
||||
RadioGroup1.Items.Add(sButtonAlign3);
|
||||
end;
|
||||
|
||||
procedure TToolPanelSetupForm.UpdateToolbarOrder;
|
||||
var
|
||||
P, P1: TToolbarItem;
|
||||
i, j: Integer;
|
||||
begin
|
||||
FToolPanel.DisableAlign;
|
||||
FToolPanel.Items.BeginUpdate;
|
||||
for i:=0 to ListBtnVisible.Count-1 do
|
||||
begin
|
||||
P:=ListBtnVisible.Items.Objects[i] as TToolbarItem;
|
||||
P1:=FToolPanel.Items[i];
|
||||
if P <> P1 then
|
||||
begin
|
||||
j:=FToolPanel.Items.IndexOf(P);
|
||||
if j>-1 then
|
||||
FToolPanel.Items.Exchange(i, j);
|
||||
end;
|
||||
end;
|
||||
FToolPanel.Items.EndUpdate;
|
||||
FToolPanel.ReAlign;
|
||||
FToolPanel.EnableAlign;
|
||||
end;
|
||||
|
||||
procedure TToolPanelSetupForm.FormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
@ -338,59 +312,49 @@ procedure TToolPanelSetupForm.btnLeftClick(Sender: TObject);
|
||||
begin
|
||||
BoxMoveSelectedItems(ListBtnAvaliable, ListBtnVisible);
|
||||
UpdateStates;
|
||||
UpdateToolbarOrder;
|
||||
FToolPanel.ReAlign;
|
||||
end;
|
||||
|
||||
procedure TToolPanelSetupForm.btnLeft2Click(Sender: TObject);
|
||||
begin
|
||||
BoxMoveAllItems(ListBtnAvaliable, ListBtnVisible);
|
||||
UpdateStates;
|
||||
UpdateToolbarOrder;
|
||||
FToolPanel.ReAlign;
|
||||
end;
|
||||
|
||||
procedure TToolPanelSetupForm.btnRightClick(Sender: TObject);
|
||||
begin
|
||||
BoxMoveSelectedItems(ListBtnVisible, ListBtnAvaliable);
|
||||
UpdateStates;
|
||||
UpdateToolbarOrder;
|
||||
FToolPanel.ReAlign;
|
||||
end;
|
||||
|
||||
procedure TToolPanelSetupForm.btnRight2Click(Sender: TObject);
|
||||
begin
|
||||
BoxMoveAllItems(ListBtnVisible, ListBtnAvaliable);
|
||||
UpdateStates;
|
||||
UpdateToolbarOrder;
|
||||
FToolPanel.ReAlign;
|
||||
end;
|
||||
|
||||
procedure TToolPanelSetupForm.btnUpClick(Sender: TObject);
|
||||
var
|
||||
I, J: Integer;
|
||||
S: String;
|
||||
P: TObject;
|
||||
P: TToolbarItem;
|
||||
begin
|
||||
ListBtnVisible.Items.BeginUpdate;
|
||||
I:=ListBtnVisible.ItemIndex;
|
||||
J:=I + TComponent(Sender).Tag;
|
||||
ListBtnVisible.Items.Move(I, J);
|
||||
|
||||
S:=ListBtnVisible.Items[I];
|
||||
P:=ListBtnVisible.Items.Objects[I];
|
||||
|
||||
ListBtnVisible.Items[I]:=ListBtnVisible.Items[J];
|
||||
ListBtnVisible.Items.Objects[I]:=ListBtnVisible.Items.Objects[J];
|
||||
|
||||
ListBtnVisible.Items[J]:=S;
|
||||
ListBtnVisible.Items.Objects[J]:=P;
|
||||
P:=FToolPanel.Items[i];
|
||||
P.Index:=J;
|
||||
|
||||
ListBtnVisible.ItemIndex:=J;
|
||||
ListBtnVisible.Items.EndUpdate;
|
||||
|
||||
UpdateStates;
|
||||
UpdateToolbarOrder;
|
||||
FToolPanel.ReAlign;
|
||||
end;
|
||||
|
||||
constructor TToolPanelSetupForm.CreateSetupForm(AToolPanel: TToolPanel);
|
||||
var
|
||||
C: TCustomBitmap;
|
||||
begin
|
||||
inherited Create(AToolPanel);
|
||||
Localize;
|
||||
|
@ -96,7 +96,6 @@ type
|
||||
X, Y: Integer); override;
|
||||
procedure MouseLeave; override;
|
||||
procedure Paint; override;
|
||||
procedure Click; override;
|
||||
procedure UpdateState(InvalidateOnChange: boolean); override;
|
||||
procedure SetDesign(AValue:boolean; AToolbarItem:TToolbarItem);
|
||||
procedure SetEnabled(NewEnabled: boolean); override;
|
||||
@ -105,6 +104,7 @@ type
|
||||
procedure CalculatePreferredSize( var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;
|
||||
public
|
||||
destructor Destroy; override;
|
||||
procedure Click; override;
|
||||
end;
|
||||
|
||||
{ TToolbarItem }
|
||||
@ -235,11 +235,11 @@ type
|
||||
procedure Loaded; override;
|
||||
procedure CalculatePreferredSize( var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;
|
||||
function DoAlignChildControls(TheAlign: TAlign; AControl: TControl; AControlList: TFPList; var ARect: TRect): Boolean; override;
|
||||
procedure GetPreferredSize(var PreferredWidth, PreferredHeight: integer; Raw: boolean = false; WithThemeSpace: boolean = true); override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
procedure Customize(HelpCtx: Longint);
|
||||
procedure GetPreferredSize(var PreferredWidth, PreferredHeight: integer; Raw: boolean = false; WithThemeSpace: boolean = true); override;
|
||||
procedure SetBounds(aLeft, aTop, aWidth, aHeight: integer); override;
|
||||
property DefImgWidth:integer read FDefImgWidth;
|
||||
property DefImgHeight:integer read FDefImgHeight;
|
||||
@ -301,7 +301,7 @@ type
|
||||
|
||||
implementation
|
||||
uses Math, RxTBRSetup, LCLProc, rxlclutils, Dialogs, typinfo, rxdconst, GraphType,
|
||||
LResources, LazVersion, LCLVersion;
|
||||
LResources, LCLVersion;
|
||||
|
||||
{ TToolbarItemsEnumerator }
|
||||
|
||||
@ -409,11 +409,8 @@ var
|
||||
GlyphWidth, GlyphHeight: Integer;
|
||||
Offset, OffsetCap: TPoint;
|
||||
ClientSize, TotalSize, TextSize: TSize;
|
||||
M, S , FExternalImageWidth: integer;
|
||||
M, S : integer;
|
||||
TXTStyle : TTextStyle;
|
||||
SIndex : Longint;
|
||||
TMP : String;
|
||||
AImageResolution: TScaledImageListResolution;
|
||||
FImgN, FImgS: TImageList;
|
||||
begin
|
||||
if FToolbarButtonStyle in [tbrSeparator, tbrDivider] then
|
||||
@ -799,7 +796,9 @@ begin
|
||||
FToolPanel.DisableAlign;
|
||||
inherited Notify(Item, Action);
|
||||
if Action = cnDeleting then
|
||||
FToolPanel.EnableAlign;
|
||||
FToolPanel.EnableAlign
|
||||
else
|
||||
FToolPanel.ReAlignToolBtn;
|
||||
end;
|
||||
|
||||
constructor TToolbarItems.Create(ToolPanel: TToolPanel);
|
||||
@ -866,9 +865,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TToolPanel.SetButtonAllign(const AValue: TToolButtonAllign);
|
||||
var
|
||||
i:integer;
|
||||
ARect: TRect;
|
||||
begin
|
||||
if FButtonAllign=AValue then exit;
|
||||
FButtonAllign:=AValue;
|
||||
@ -877,8 +873,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TToolPanel.SetImageList(const AValue: TImageList);
|
||||
var
|
||||
i:integer;
|
||||
begin
|
||||
if FImageList=AValue then exit;
|
||||
FImageList:=AValue;
|
||||
@ -887,8 +881,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TToolPanel.SetImageListSelected(const AValue: TImageList);
|
||||
var
|
||||
i:integer;
|
||||
begin
|
||||
if FImageListSelected=AValue then exit;
|
||||
FImageListSelected:=AValue;
|
||||
@ -1092,9 +1084,7 @@ begin
|
||||
end;
|
||||
|
||||
var
|
||||
i, ACount:integer;
|
||||
S1, AActionName, S2:string;
|
||||
AItem:TToolbarItem;
|
||||
ACount:integer;
|
||||
tpo:TToolPanelOptions;
|
||||
tpo1:integer absolute tpo;
|
||||
S: TComponentName;
|
||||
@ -1292,7 +1282,6 @@ end;
|
||||
function TToolPanel.DoAlignChildControls(TheAlign: TAlign; AControl: TControl;
|
||||
AControlList: TFPList; var ARect: TRect): Boolean;
|
||||
var
|
||||
R: TRect;
|
||||
TI: TToolbarItem;
|
||||
I, L: Integer;
|
||||
begin
|
||||
@ -1611,9 +1600,7 @@ end;
|
||||
|
||||
constructor TToolbarItem.Create(ACollection: TCollection);
|
||||
var
|
||||
i, W:integer;
|
||||
TB:TToolPanel;
|
||||
TI: TToolbarItem;
|
||||
begin
|
||||
inherited Create(ACollection);
|
||||
TB:=TToolbarItems(ACollection).FToolPanel;
|
||||
|
@ -89,6 +89,7 @@ resourcestring
|
||||
sLicense = 'License';
|
||||
SOutOfRange = 'Out of range %d %d %d %d';
|
||||
sSeparator = 'Separator';
|
||||
sRxToolPanelEditor = 'Rx toolpanel editor';
|
||||
|
||||
{ TRxHistoryNavigator }
|
||||
sHistoryDesc = 'History - "%s"';
|
||||
|
Loading…
Reference in New Issue
Block a user