diff --git a/components/rx/trunk/dcl_rx_ctrl/register_rxctrl.pas b/components/rx/trunk/dcl_rx_ctrl/register_rxctrl.pas index 3068438aa..55d9d9619 100644 --- a/components/rx/trunk/dcl_rx_ctrl/register_rxctrl.pas +++ b/components/rx/trunk/dcl_rx_ctrl/register_rxctrl.pas @@ -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); diff --git a/components/rx/trunk/languages/rxconst.es.po b/components/rx/trunk/languages/rxconst.es.po index 32f395383..4843768f3 100644 --- a/components/rx/trunk/languages/rxconst.es.po +++ b/components/rx/trunk/languages/rxconst.es.po @@ -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 "" diff --git a/components/rx/trunk/languages/rxconst.pl.po b/components/rx/trunk/languages/rxconst.pl.po index 0db533f2c..bde3e5f08 100644 --- a/components/rx/trunk/languages/rxconst.pl.po +++ b/components/rx/trunk/languages/rxconst.pl.po @@ -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" diff --git a/components/rx/trunk/languages/rxconst.po b/components/rx/trunk/languages/rxconst.po index 1795ac6bf..0bdeb33eb 100644 --- a/components/rx/trunk/languages/rxconst.po +++ b/components/rx/trunk/languages/rxconst.po @@ -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 "" diff --git a/components/rx/trunk/languages/rxconst.ru.po b/components/rx/trunk/languages/rxconst.ru.po index b702a7111..fdc053455 100644 --- a/components/rx/trunk/languages/rxconst.ru.po +++ b/components/rx/trunk/languages/rxconst.ru.po @@ -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 "Вторая половина года" diff --git a/components/rx/trunk/languages/rxconst.uk.po b/components/rx/trunk/languages/rxconst.uk.po index 027ea0c53..656bf6ce5 100644 --- a/components/rx/trunk/languages/rxconst.uk.po +++ b/components/rx/trunk/languages/rxconst.uk.po @@ -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 "" diff --git a/components/rx/trunk/rxcontrols/rxhistory.pas b/components/rx/trunk/rxcontrols/rxhistory.pas index 5f475408a..d1f4e4247 100644 --- a/components/rx/trunk/rxcontrols/rxhistory.pas +++ b/components/rx/trunk/rxcontrols/rxhistory.pas @@ -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; diff --git a/components/rx/trunk/rxcontrols/rxtbrsetup.pas b/components/rx/trunk/rxcontrols/rxtbrsetup.pas index fe0fd2cd7..bc0062728 100644 --- a/components/rx/trunk/rxcontrols/rxtbrsetup.pas +++ b/components/rx/trunk/rxcontrols/rxtbrsetup.pas @@ -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; diff --git a/components/rx/trunk/rxcontrols/rxtoolbar.pas b/components/rx/trunk/rxcontrols/rxtoolbar.pas index 2e7c59842..f2027e1b3 100644 --- a/components/rx/trunk/rxcontrols/rxtoolbar.pas +++ b/components/rx/trunk/rxcontrols/rxtoolbar.pas @@ -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; diff --git a/components/rx/trunk/rxtools/rxconst.pas b/components/rx/trunk/rxtools/rxconst.pas index d388eedea..53fef996d 100644 --- a/components/rx/trunk/rxtools/rxconst.pas +++ b/components/rx/trunk/rxtools/rxconst.pas @@ -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"';