Menu editor: Fix indentation.

git-svn-id: trunk@51546 -
This commit is contained in:
juha 2016-02-08 21:47:24 +00:00
parent 969f23b12f
commit 4f0a8f60aa

View File

@ -18,245 +18,245 @@ uses
type type
TShadowMenu = class; TShadowMenu = class;
TShadowBox = class; TShadowBox = class;
{ TFake } { TFake }
TFake = class(TCustomControl) TFake = class(TCustomControl)
protected protected
FShadowMenu: TShadowMenu; FShadowMenu: TShadowMenu;
FMinWidth: integer; FMinWidth: integer;
function GetShouldBeVisible: boolean; virtual; abstract; function GetShouldBeVisible: boolean; virtual; abstract;
procedure SetVisibilitySizeAndPosition; virtual; abstract; procedure SetVisibilitySizeAndPosition; virtual; abstract;
procedure TextChanged; override; procedure TextChanged; override;
protected protected
class function GetControlClassDefaultSize: TSize; override; class function GetControlClassDefaultSize: TSize; override;
procedure Paint; override; procedure Paint; override;
public public
constructor Create(anOwner: TShadowMenu); reintroduce; constructor Create(anOwner: TShadowMenu); reintroduce;
procedure Refresh; procedure Refresh;
property ShouldBeVisible: boolean read GetShouldBeVisible; property ShouldBeVisible: boolean read GetShouldBeVisible;
end; end;
TAddSiblingFake = class(TFake) TAddSiblingFake = class(TFake)
protected protected
function GetShouldBeVisible: boolean; override; function GetShouldBeVisible: boolean; override;
procedure SetVisibilitySizeAndPosition; override; procedure SetVisibilitySizeAndPosition; override;
end; end;
TAddSubmenuFake = class(TFake) TAddSubmenuFake = class(TFake)
protected protected
function GetShouldBeVisible: boolean; override; function GetShouldBeVisible: boolean; override;
procedure SetVisibilitySizeAndPosition; override; procedure SetVisibilitySizeAndPosition; override;
end; end;
TAddFirstFake = class(TFake) TAddFirstFake = class(TFake)
protected protected
function GetShouldBeVisible: boolean; override; function GetShouldBeVisible: boolean; override;
procedure SetVisibilitySizeAndPosition; override; procedure SetVisibilitySizeAndPosition; override;
end; end;
TShadowItemDisplayState = (dsNormal, dsSelected, dsDisabled); TShadowItemDisplayState = (dsNormal, dsSelected, dsDisabled);
TMenuDesigner = class; TMenuDesigner = class;
{ TShadowItem } { TShadowItem }
TShadowItem = class(TShadowItemBase) TShadowItem = class(TShadowItemBase)
strict private strict private
FBottomFake: TFake; FBottomFake: TFake;
FParentBox: TShadowBox; FParentBox: TShadowBox;
FRightFake: TFake; FRightFake: TFake;
FShadowMenu: TShadowMenu; FShadowMenu: TShadowMenu;
FShowingBottomFake: boolean; FShowingBottomFake: boolean;
FShowingRightFake: boolean; FShowingRightFake: boolean;
FState: TShadowItemDisplayState; FState: TShadowItemDisplayState;
function GetBottomFake: TFake; function GetBottomFake: TFake;
function GetIsInMenuBar: boolean; function GetIsInMenuBar: boolean;
function GetIsMainMenu: boolean; function GetIsMainMenu: boolean;
function GetLevel: integer; function GetLevel: integer;
function GetRightFake: TFake; function GetRightFake: TFake;
function GetShortcutWidth: integer; function GetShortcutWidth: integer;
function GetShowingBottomFake: boolean; function GetShowingBottomFake: boolean;
function GetShowingRightFake: boolean; function GetShowingRightFake: boolean;
procedure SetState(AValue: TShadowItemDisplayState); procedure SetState(AValue: TShadowItemDisplayState);
protected protected
function GetHeight: integer; function GetHeight: integer;
function GetWidth: integer; function GetWidth: integer;
function HasChildBox(out aChildBox: TShadowBox): boolean; function HasChildBox(out aChildBox: TShadowBox): boolean;
procedure DblClick; override; procedure DblClick; override;
procedure HideChainFromRoot; procedure HideChainFromRoot;
procedure HideChildren; procedure HideChildren;
procedure KeyDown(var Key: Word; Shift: TShiftState); override; procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure Paint; override; procedure Paint; override;
procedure ShowChainToRoot; procedure ShowChainToRoot;
procedure ShowChildBox; procedure ShowChildBox;
procedure ShowDisabled; procedure ShowDisabled;
procedure ShowNormal; procedure ShowNormal;
procedure ShowSelected; procedure ShowSelected;
public public
constructor CreateWithBoxAndItem(aSMenu: TShadowMenu; aParentBox: TShadowBox; constructor CreateWithBoxAndItem(aSMenu: TShadowMenu; aParentBox: TShadowBox;
aRealItem: TMenuItem); aRealItem: TMenuItem);
property BottomFake: TFake read GetBottomFake write FBottomFake; property BottomFake: TFake read GetBottomFake write FBottomFake;
property IsInMenuBar: boolean read GetIsInMenuBar; property IsInMenuBar: boolean read GetIsInMenuBar;
property IsMainMenu: boolean read GetIsMainMenu; property IsMainMenu: boolean read GetIsMainMenu;
property Level: integer read GetLevel; property Level: integer read GetLevel;
property ParentBox: TShadowBox read FParentBox; property ParentBox: TShadowBox read FParentBox;
property RightFake: TFake read GetRightFake write FRightFake; property RightFake: TFake read GetRightFake write FRightFake;
property ShowingBottomFake: boolean read GetShowingBottomFake write FShowingBottomFake; property ShowingBottomFake: boolean read GetShowingBottomFake write FShowingBottomFake;
property ShowingRightFake: boolean read GetShowingRightFake write FShowingRightFake; property ShowingRightFake: boolean read GetShowingRightFake write FShowingRightFake;
//property State: TShadowItemDisplayState read FState; //property State: TShadowItemDisplayState read FState;
end; end;
{ TShadowBox } { TShadowBox }
TShadowBox = class(TShadowBoxBase) TShadowBox = class(TShadowBoxBase)
strict private strict private
FParentBox: TShadowBox; FParentBox: TShadowBox;
FShadowMenu: TShadowMenu; FShadowMenu: TShadowMenu;
FUpdating: boolean; FUpdating: boolean;
function GetIsMainMenu: boolean; function GetIsMainMenu: boolean;
function GetIsMenuBar: boolean; function GetIsMenuBar: boolean;
function GetShadowCount: integer; function GetShadowCount: integer;
procedure BeginUpdate; procedure BeginUpdate;
procedure EndUpdate; procedure EndUpdate;
procedure ShowAllUnSelected; procedure ShowAllUnSelected;
protected protected
function GetInnerDims: TPoint; function GetInnerDims: TPoint;
procedure AddItemAndShadow(existingSI: TShadowItem; addBefore: boolean; procedure AddItemAndShadow(existingSI: TShadowItem; addBefore: boolean;
isSeparator: boolean=False); isSeparator: boolean=False);
procedure LocateShadows; procedure LocateShadows;
procedure Paint; override; procedure Paint; override;
procedure RemoveAllSeparators; procedure RemoveAllSeparators;
procedure SelectPrevious(aSI: TShadowItem); procedure SelectPrevious(aSI: TShadowItem);
procedure SelectSuccessor(aSI: TShadowItem); procedure SelectSuccessor(aSI: TShadowItem);
property IsMainMenu: boolean read GetIsMainMenu; property IsMainMenu: boolean read GetIsMainMenu;
property IsMenuBar: boolean read GetIsMenuBar; property IsMenuBar: boolean read GetIsMenuBar;
property ParentBox: TShadowBox read FParentBox; property ParentBox: TShadowBox read FParentBox;
property ShadowCount: integer read GetShadowCount; property ShadowCount: integer read GetShadowCount;
property Updating: boolean read FUpdating; property Updating: boolean read FUpdating;
public public
constructor CreateWithParentBox(aSMenu: TShadowMenu; aParentBox: TShadowBox; constructor CreateWithParentBox(aSMenu: TShadowMenu; aParentBox: TShadowBox;
aParentItem: TMenuItem); aParentItem: TMenuItem);
destructor Destroy; override; destructor Destroy; override;
procedure SetUnCheckedAllExcept(aMI: TMenuItem); procedure SetUnCheckedAllExcept(aMI: TMenuItem);
end; end;
TPopEnum = {%region} TPopEnum = {%region}
(popItemMoveBefore, popItemMoveAfter, (popItemMoveBefore, popItemMoveAfter,
popSeparators_, popSeparators_,
popAddSeparatorBefore, popAddSeparatorAfter, popRemoveAllSeparators, popAddSeparatorBefore, popAddSeparatorAfter, popRemoveAllSeparators,
popItemDelete, popItemAddBefore, popItemAddAfter, popItemAddSubMenu, popItemDelete, popItemAddBefore, popItemAddAfter, popItemAddSubMenu,
popItemSep, popItemSep,
popAddImgListIcon, popItemAddOnClick, popItemEditCaption, popAddImgListIcon, popItemAddOnClick, popItemEditCaption,
popItemOISep, popItemOISep,
popShortcuts_, popShortcuts_,
popListShortcuts, popListShortcutsAccelerators, popResolveShortcutConflicts, popListShortcuts, popListShortcutsAccelerators, popResolveShortcutConflicts,
popTemplates_, popTemplates_,
popSaveAsTemplate, popAddFromTemplate, popDeleteTemplate);{%endregion} popSaveAsTemplate, popAddFromTemplate, popDeleteTemplate);{%endregion}
{ TShadowMenu } { TShadowMenu }
TShadowMenu = class(TShadowMenuBase) TShadowMenu = class(TShadowMenuBase)
strict private strict private
FActionList: TActionList; FActionList: TActionList;
FAddImgListIconAction: TAction; FAddImgListIconAction: TAction;
FAddItemFake: TFake; FAddItemFake: TFake;
FAddFirstItemFake: TFake; FAddFirstItemFake: TFake;
FAddSubmenuFake: TFake; FAddSubmenuFake: TFake;
FBoxList: TFPList; FBoxList: TFPList;
FInitialising: boolean; FInitialising: boolean;
FInitialSelectedMenuItem: TMenuItem; FInitialSelectedMenuItem: TMenuItem;
FIsMainMenu: boolean; FIsMainMenu: boolean;
FItemsPopupMenu: TPopupMenu; FItemsPopupMenu: TPopupMenu;
FLookupRoot: TComponent; FLookupRoot: TComponent;
FMainCanvas: TCanvas; FMainCanvas: TCanvas;
FRootBox: TShadowBox; FRootBox: TShadowBox;
procedure DeleteBox(aMI: TMenuItem); procedure DeleteBox(aMI: TMenuItem);
procedure DeleteItm(anItem: TMenuItem); procedure DeleteItm(anItem: TMenuItem);
function GetActionForEnum(anEnum: TPopEnum): TAction; function GetActionForEnum(anEnum: TPopEnum): TAction;
function GetBoxContainingMenuItem(aMI: TMenuItem): TShadowBox; function GetBoxContainingMenuItem(aMI: TMenuItem): TShadowBox;
function GetHighestLevelVisibleBox: TShadowBox; function GetHighestLevelVisibleBox: TShadowBox;
function GetMaxVisibleBoxDims(aSB: TShadowBox): TPoint; function GetMaxVisibleBoxDims(aSB: TShadowBox): TPoint;
function GetMaxVisibleFakeDims: TPoint; function GetMaxVisibleFakeDims: TPoint;
function GetMenuBarCumWidthForItemIndex(anIndex: integer): integer; function GetMenuBarCumWidthForItemIndex(anIndex: integer): integer;
function GetParentItemHeightInBox(aParentItem: TMenuItem): integer; function GetParentItemHeightInBox(aParentItem: TMenuItem): integer;
function GetSelectedShadowBox: TShadowBox; function GetSelectedShadowBox: TShadowBox;
function GetSelectedShadowItem: TShadowItem; function GetSelectedShadowItem: TShadowItem;
procedure AddManyItems(aPrimaries, aDepth: integer); procedure AddManyItems(aPrimaries, aDepth: integer);
procedure AddSubMenuTo(anExistingSI: TShadowItem); procedure AddSubMenuTo(anExistingSI: TShadowItem);
procedure ConnectSpeedButtonOnClickMethods; procedure ConnectSpeedButtonOnClickMethods;
procedure CreateShadowBoxesAndItems; procedure CreateShadowBoxesAndItems;
procedure DeleteChildlessShadowAndItem(anExistingSI: TShadowItem); procedure DeleteChildlessShadowAndItem(anExistingSI: TShadowItem);
procedure DeleteShadowAndItemAndChildren(anExistingSI: TShadowItem); procedure DeleteShadowAndItemAndChildren(anExistingSI: TShadowItem);
procedure OnDesignerModified(Sender: TObject); procedure OnDesignerModified(Sender: TObject);
procedure OnObjectPropertyChanged(Sender: TObject; NewObject: TPersistent); procedure OnObjectPropertyChanged(Sender: TObject; NewObject: TPersistent);
procedure OnDesignerRefreshPropertyValues; procedure OnDesignerRefreshPropertyValues;
procedure RecursiveCreateShadows(aParentBox: TShadowBox; aMI: TMenuItem); procedure RecursiveCreateShadows(aParentBox: TShadowBox; aMI: TMenuItem);
procedure SetupPopupMenu; procedure SetupPopupMenu;
procedure UpdateButtonGlyphs(isInBar: boolean); procedure UpdateButtonGlyphs(isInBar: boolean);
// user actions // user actions
procedure AddFromTemplate(Sender: TObject); procedure AddFromTemplate(Sender: TObject);
procedure AddImageListIcon(Sender: TObject); procedure AddImageListIcon(Sender: TObject);
procedure AddItemAfter(Sender: TObject); procedure AddItemAfter(Sender: TObject);
procedure AddItemBefore(Sender: TObject); procedure AddItemBefore(Sender: TObject);
procedure AddSeparatorAbove(Sender: TObject); procedure AddSeparatorAbove(Sender: TObject);
procedure AddSeparatorBelow(Sender: TObject); procedure AddSeparatorBelow(Sender: TObject);
procedure AddSubMenu(Sender: TObject); procedure AddSubMenu(Sender: TObject);
procedure AddFirstMenu(Sender: TObject); procedure AddFirstMenu(Sender: TObject);
procedure DeleteTemplate(Sender: TObject); procedure DeleteTemplate(Sender: TObject);
procedure EditCaption(Sender: TObject); procedure EditCaption(Sender: TObject);
procedure ListShortcuts(Sender: TObject); procedure ListShortcuts(Sender: TObject);
procedure ListShortcutsAndAccelerators(Sender: TObject); procedure ListShortcutsAndAccelerators(Sender: TObject);
procedure MoveItemAfter(Sender: TObject); procedure MoveItemAfter(Sender: TObject);
procedure MoveItemBefore(Sender: TObject); procedure MoveItemBefore(Sender: TObject);
procedure RemoveAllSeparators(Sender: TObject); procedure RemoveAllSeparators(Sender: TObject);
procedure ResolveShortcutConflicts(Sender: TObject); procedure ResolveShortcutConflicts(Sender: TObject);
procedure SaveAsTemplate(Sender: TObject); procedure SaveAsTemplate(Sender: TObject);
private private
FMenu: TMenu; FMenu: TMenu;
FDesigner: TMenuDesigner; FDesigner: TMenuDesigner;
FEditorDesigner: TComponentEditorDesigner; FEditorDesigner: TComponentEditorDesigner;
function GetStringWidth(const aText: string; isBold: boolean): integer; function GetStringWidth(const aText: string; isBold: boolean): integer;
function GetMenuBarIconWidth(aMI: TMenuItem): integer; function GetMenuBarIconWidth(aMI: TMenuItem): integer;
function OnClickIsAssigned(aMI: TMenuItem): boolean; function OnClickIsAssigned(aMI: TMenuItem): boolean;
procedure AddOnClick(Sender: TObject); procedure AddOnClick(Sender: TObject);
procedure DeleteItem(Sender: TObject); procedure DeleteItem(Sender: TObject);
function GetBoxWithParentItem(aParentMI: TMenuItem): TShadowBox; function GetBoxWithParentItem(aParentMI: TMenuItem): TShadowBox;
procedure HideFakes; procedure HideFakes;
procedure RemoveEmptyBox(aSB: TShadowBox); procedure RemoveEmptyBox(aSB: TShadowBox);
procedure SetSelectedShadow(const prevSelectedItem, curSelectedItem: TMenuItem; viaDesigner: boolean); procedure SetSelectedShadow(const prevSelectedItem, curSelectedItem: TMenuItem; viaDesigner: boolean);
procedure UpdateActionsEnabledness; procedure UpdateActionsEnabledness;
private private
property AddItemFake: TFake read FAddItemFake; property AddItemFake: TFake read FAddItemFake;
property AddSubmenuFake: TFake read FAddSubmenuFake; property AddSubmenuFake: TFake read FAddSubmenuFake;
property BoxList: TFPList read FBoxList; property BoxList: TFPList read FBoxList;
property ItemsPopupMenu: TPopupMenu read FItemsPopupMenu; property ItemsPopupMenu: TPopupMenu read FItemsPopupMenu;
property RootBox: TShadowBox read FRootBox; property RootBox: TShadowBox read FRootBox;
protected protected
procedure Paint; override; procedure Paint; override;
procedure SetParent(NewParent: TWinControl); override; procedure SetParent(NewParent: TWinControl); override;
public public
constructor Create(aDesigner: TMenuDesigner; aForm: TForm; aMenu: TMenu; constructor Create(aDesigner: TMenuDesigner; aForm: TForm; aMenu: TMenu;
aSelect: TMenuItem; aWidth, aHeight: integer); reintroduce; aSelect: TMenuItem; aWidth, aHeight: integer); reintroduce;
destructor Destroy; override; destructor Destroy; override;
function GetParentBoxForMenuItem(aMI: TMenuItem): TShadowBox; function GetParentBoxForMenuItem(aMI: TMenuItem): TShadowBox;
function GetShadowForMenuItem(aMI: TMenuItem): TShadowItem; function GetShadowForMenuItem(aMI: TMenuItem): TShadowItem;
procedure HideBoxesAboveLevel(aLevel: integer); procedure HideBoxesAboveLevel(aLevel: integer);
procedure RefreshFakes; procedure RefreshFakes;
procedure SetSelectedMenuItem(aMI: TMenuItem; procedure SetSelectedMenuItem(aMI: TMenuItem;
viaDesigner, prevWasDeleted: boolean); override; viaDesigner, prevWasDeleted: boolean); override;
procedure UpdateBoxLocationsAndSizes; procedure UpdateBoxLocationsAndSizes;
procedure UpdateSelectedItemInfo; procedure UpdateSelectedItemInfo;
public public
property EditorDesigner: TComponentEditorDesigner read FEditorDesigner; property EditorDesigner: TComponentEditorDesigner read FEditorDesigner;
property IsMainMenu: boolean read FIsMainMenu; property IsMainMenu: boolean read FIsMainMenu;
property LookupRoot: TComponent read FLookupRoot; property LookupRoot: TComponent read FLookupRoot;
property SelectedShadowBox: TShadowBox read GetSelectedShadowBox; property SelectedShadowBox: TShadowBox read GetSelectedShadowBox;
property SelectedShadowItem: TShadowItem read GetSelectedShadowItem; property SelectedShadowItem: TShadowItem read GetSelectedShadowItem;
end; end;
{ TMenuDesigner } { TMenuDesigner }
@ -280,7 +280,6 @@ end;
procedure ExecuteVerb(Index: Integer); override; procedure ExecuteVerb(Index: Integer); override;
end; end;
{ TMenuItemsPropertyEditor - property editor for TMenuItem properties. { TMenuItemsPropertyEditor - property editor for TMenuItem properties.
Invokes the parent menu's component editor } Invokes the parent menu's component editor }