mirror of https://gitlab.com/basile.b/dexed.git
optim, avoid a lot of heap alloc when assigning btn's glyphs
This commit is contained in:
parent
546052732f
commit
c95c8ff54b
|
@ -6,7 +6,7 @@ interface
|
|||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, ExtCtrls, Buttons, Menus,ce_widget, ce_common;
|
||||
StdCtrls, ExtCtrls, Buttons, Menus,ce_widget, ce_common, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -105,25 +105,23 @@ end;
|
|||
procedure TToolInfo.refreshStatus;
|
||||
var
|
||||
pth: string;
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
if (fLabel = nil) or (fStatus = nil) then exit;
|
||||
//
|
||||
fLabel.Caption:= fToolName;
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try case fKind of
|
||||
case fKind of
|
||||
tikFindable:
|
||||
begin
|
||||
pth := exeFullName(fToolName + exeExt);
|
||||
if pth = '' then
|
||||
begin
|
||||
fStatus.Caption:= ' the tool cannot be found';
|
||||
png.LoadFromLazarusResource('bullet_red');
|
||||
AssignPng(fIco, 'bullet_red');
|
||||
end
|
||||
else
|
||||
begin
|
||||
fStatus.Caption:= ' the tool is available';
|
||||
png.LoadFromLazarusResource('bullet_green');
|
||||
AssignPng(fIco, 'bullet_green');
|
||||
end;
|
||||
end;
|
||||
tikRunning:
|
||||
|
@ -132,24 +130,20 @@ begin
|
|||
if pth = '' then
|
||||
begin
|
||||
fStatus.Caption:= ' the tool cannot be found';
|
||||
png.LoadFromLazarusResource('bullet_red');
|
||||
AssignPng(fIco, 'bullet_red');
|
||||
end
|
||||
else if AppIsRunning(fToolName + exeExt) then
|
||||
begin
|
||||
fStatus.Caption:= ' the tool is available and running';
|
||||
png.LoadFromLazarusResource('bullet_green');
|
||||
AssignPng(fIco, 'bullet_green');
|
||||
end
|
||||
else
|
||||
begin
|
||||
fStatus.Caption:= ' the tool is available but is not running';
|
||||
png.LoadFromLazarusResource('bullet_yellow');
|
||||
AssignPng(fIco, 'bullet_yellow');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
fIco.Glyph.Assign(png);
|
||||
png.Free;
|
||||
end;
|
||||
ReAlign;
|
||||
Invalidate;
|
||||
end;
|
||||
|
|
|
@ -7,7 +7,7 @@ interface
|
|||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
Menus, ComCtrls, Buttons, ce_widget, ce_interfaces, ce_nativeproject, ce_dmdwrap,
|
||||
ce_common, ce_dialogs;
|
||||
ce_common, ce_dialogs, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -64,33 +64,17 @@ const
|
|||
notav: string = '< n/a >';
|
||||
|
||||
constructor TCELibManEditorWidget.Create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('arrow_down');
|
||||
btnMoveDown.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('arrow_up');
|
||||
btnMoveUp.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('book_add');
|
||||
btnAddLib.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('book_delete');
|
||||
btnRemLib.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('book_edit');
|
||||
btnEditAlias.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('folder_brick');
|
||||
btnSelFile.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('bricks');
|
||||
btnSelfoldOfFiles.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('folder_add');
|
||||
btnSelRoot.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('book_link');
|
||||
btnReg.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
AssignPng(btnMoveDown, 'arrow_down');
|
||||
AssignPng(btnMoveUp, 'arrow_up');
|
||||
AssignPng(btnAddLib, 'book_add');
|
||||
AssignPng(btnRemLib, 'book_delete');
|
||||
AssignPng(btnEditAlias, 'book_edit');
|
||||
AssignPng(btnSelFile, 'folder_brick');
|
||||
AssignPng(btnSelfoldOfFiles, 'bricks');
|
||||
AssignPng(btnSelRoot, 'folder_add');
|
||||
AssignPng(btnReg, 'book_link');
|
||||
end;
|
||||
|
||||
procedure TCELibManEditorWidget.updateRegistrable;
|
||||
|
|
|
@ -8,7 +8,7 @@ uses
|
|||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, ComCtrls,
|
||||
lcltype, ce_widget, ActnList, Menus, clipbrd, AnchorDocking, TreeFilterEdit,
|
||||
Buttons, math, process, ce_writableComponent, ce_common, ce_synmemo, GraphType,
|
||||
ce_dlangutils, ce_interfaces, ce_observer, ce_symstring, ce_processes;
|
||||
ce_dlangutils, ce_interfaces, ce_observer, ce_symstring, ce_processes, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -248,7 +248,6 @@ end;
|
|||
constructor TCEMessagesWidget.create(aOwner: TComponent);
|
||||
var
|
||||
fname: string;
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
fMaxMessCnt := 500;
|
||||
fCtxt := amcAll;
|
||||
|
@ -306,13 +305,7 @@ begin
|
|||
fBtns[amcProj]:= btnSelProj;
|
||||
//
|
||||
btnClearCat.OnClick := @actClearCurCatExecute;
|
||||
png:= TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('clean');
|
||||
btnClearCat.Glyph.Assign(png);
|
||||
finally
|
||||
png.free;
|
||||
end;
|
||||
AssignPng(btnClearCat, 'clean');
|
||||
//
|
||||
fname := getCoeditDocPath + optname;
|
||||
if fileExists(fname) then
|
||||
|
|
|
@ -7,7 +7,7 @@ interface
|
|||
uses
|
||||
Classes, SysUtils, FileUtil, ListFilterEdit, Forms, Controls, Graphics,
|
||||
ExtCtrls, Menus, ComCtrls, Buttons, lcltype, strutils, ce_widget,
|
||||
ce_common, ce_interfaces, ce_observer, ce_writableComponent;
|
||||
ce_common, ce_interfaces, ce_observer, ce_writableComponent, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -137,24 +137,14 @@ end;
|
|||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||
constructor TCEMiniExplorerWidget.create(aIwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
fname: string;
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('folder_add');
|
||||
btnAddFav.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('folder_delete');
|
||||
btnRemFav.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('flash');
|
||||
btnShellOpen.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('pencil');
|
||||
btnEdit.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
AssignPng(btnAddFav, 'folder_add');
|
||||
AssignPng(btnRemFav, 'folder_delete');
|
||||
AssignPng(btnShellOpen, 'flash');
|
||||
AssignPng(btnEdit, 'pencil');
|
||||
//
|
||||
fFavorites := TStringList.Create;
|
||||
fFavorites.onChange := @favStringsChange;
|
||||
|
|
|
@ -6,7 +6,7 @@ interface
|
|||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, ExtCtrls,
|
||||
Menus, ComCtrls, Buttons, PropEdits, ObjectInspector,
|
||||
Menus, ComCtrls, Buttons, PropEdits, ObjectInspector, ce_sharedres,
|
||||
ce_common, ce_widget, ce_interfaces, ce_observer, ce_dialogs;
|
||||
|
||||
type
|
||||
|
@ -63,8 +63,6 @@ const
|
|||
|
||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||
constructor TCEOptionEditorWidget.create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
fIsDockable := false;
|
||||
|
@ -73,15 +71,8 @@ begin
|
|||
inspector.CheckboxForBoolean := true;
|
||||
inspector.PropertyEditorHook.AddHandlerModified(@inspectorModified);
|
||||
//
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('cancel');
|
||||
btnCancel.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('accept');
|
||||
btnAccept.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
AssignPng(btnCancel, 'cancel');
|
||||
AssignPng(btnAccept, 'accept');
|
||||
end;
|
||||
|
||||
destructor TCEOptionEditorWidget.destroy;
|
||||
|
|
|
@ -7,8 +7,8 @@ interface
|
|||
uses
|
||||
Classes, SysUtils, FileUtil, RTTIGrids, RTTICtrls, Forms, Controls, Graphics,
|
||||
Dialogs, ExtCtrls, ComCtrls, StdCtrls, Menus, Buttons, rttiutils, typinfo,
|
||||
PropEdits, ObjectInspector, ce_dmdwrap, ce_nativeproject, ce_widget, ce_interfaces,
|
||||
ce_observer;
|
||||
PropEdits, ObjectInspector, ce_dmdwrap, ce_nativeproject, ce_widget,
|
||||
ce_interfaces, ce_observer, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -63,23 +63,14 @@ implementation
|
|||
|
||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||
constructor TCEProjectConfigurationWidget.create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('cog_add');
|
||||
btnAddConf.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('cog_delete');
|
||||
btnDelConf.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('cog_go');
|
||||
btnCloneConf.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('link_break');
|
||||
btnSyncEdit.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
//
|
||||
AssignPng(btnAddConf, 'cog_add');
|
||||
AssignPng(btnDelConf, 'cog_delete');
|
||||
AssignPng(btnCloneConf, 'cog_go');
|
||||
AssignPng(btnSyncEdit, 'link_break');
|
||||
//
|
||||
fSynchroItem := TStringList.Create;
|
||||
fSynchroValue := TStringList.Create;
|
||||
Tree.Selected := Tree.Items.GetLastNode;
|
||||
|
@ -177,20 +168,12 @@ begin
|
|||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.setSyncroMode(aValue: boolean);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
if fSyncroMode = aValue then exit;
|
||||
//
|
||||
fSyncroMode := aValue;
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
if fSyncroMode then png.LoadFromLazarusResource('link')
|
||||
else png.LoadFromLazarusResource('link_break');
|
||||
btnSyncEdit.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
if fSyncroMode then AssignPng(btnSyncEdit, 'link')
|
||||
else AssignPng(btnSyncEdit, 'link_break');
|
||||
end;
|
||||
|
||||
function TCEProjectConfigurationWidget.syncroSetPropAsString(const ASection, Item, Default: string): string;
|
||||
|
|
|
@ -7,7 +7,7 @@ interface
|
|||
uses
|
||||
Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, Controls, Graphics, actnlist,
|
||||
Dialogs, ExtCtrls, ComCtrls, Menus, Buttons, lcltype, ce_nativeproject, ce_interfaces,
|
||||
ce_common, ce_widget, ce_observer, ce_dialogs;
|
||||
ce_common, ce_widget, ce_observer, ce_dialogs, ce_sharedres;
|
||||
|
||||
type
|
||||
TCEProjectInspectWidget = class(TCEWidget, ICEProjectObserver)
|
||||
|
@ -65,8 +65,6 @@ uses
|
|||
|
||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||
constructor TCEProjectInspectWidget.create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
fActOpenFile := TAction.Create(self);
|
||||
fActOpenFile.Caption := 'Open file in editor';
|
||||
|
@ -78,21 +76,11 @@ begin
|
|||
//
|
||||
inherited;
|
||||
//
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('document_add');
|
||||
btnAddFile.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('document_delete');
|
||||
btnRemFile.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('folder_add');
|
||||
btnAddFold.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('folder_delete');
|
||||
btnRemFold.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('wrench_orange');
|
||||
btnProjOpts.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
AssignPng(btnAddFile, 'document_add');
|
||||
AssignPng(btnRemFile, 'document_delete');
|
||||
AssignPng(btnAddFold, 'folder_add');
|
||||
AssignPng(btnRemFold, 'folder_delete');
|
||||
AssignPng(btnProjOpts, 'wrench_orange');
|
||||
//
|
||||
Tree.OnDblClick := @TreeDblClick;
|
||||
fFileNode := Tree.Items[0];
|
||||
|
|
|
@ -7,7 +7,7 @@ interface
|
|||
uses
|
||||
Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, Controls, Menus, Graphics,
|
||||
ExtCtrls, LCLProc, ComCtrls, StdCtrls, Buttons, LCLType,
|
||||
ce_observer, ce_interfaces, ce_common, ce_writableComponent;
|
||||
ce_sharedres, ce_observer, ce_interfaces, ce_common, ce_writableComponent;
|
||||
|
||||
type
|
||||
|
||||
|
@ -171,22 +171,12 @@ end;
|
|||
|
||||
{$REGION Standard Comp/Object things -------------------------------------------}
|
||||
constructor TCEShortcutEditor.create(TheOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
fObservers := TCEEditableShortCutSubject.create;
|
||||
fShortcuts := TShortCutCollection.create(self);
|
||||
fBackup := TShortCutCollection.create(self);
|
||||
//
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('clean');
|
||||
btnClear.Glyph.Assign(png);
|
||||
finally
|
||||
png.free;
|
||||
end;
|
||||
//
|
||||
AssignPng(btnClear, 'clean');
|
||||
EntitiesConnector.addObserver(self);
|
||||
end;
|
||||
|
||||
|
@ -197,19 +187,11 @@ begin
|
|||
end;
|
||||
|
||||
procedure TCEShortcutEditor.UpdateShowing;
|
||||
var
|
||||
png : TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
if not visible then exit;
|
||||
//
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('keyboard_pencil');
|
||||
btnActivate.Glyph.Assign(png);
|
||||
finally
|
||||
png.free;
|
||||
end;
|
||||
AssignPng(btnActivate, 'keyboard_pencil');
|
||||
end;
|
||||
{$ENDREGION}
|
||||
|
||||
|
|
|
@ -8,7 +8,8 @@ uses
|
|||
Classes, SysUtils, controls,lcltype, Forms, graphics, ExtCtrls, crc,
|
||||
SynPluginSyncroEdit, SynCompletion, SynEditKeyCmds, LazSynEditText, SynEdit,
|
||||
SynHighlighterLFM, SynEditHighlighter, SynEditMouseCmds, SynEditFoldedView,
|
||||
ce_common, ce_observer, ce_writableComponent, ce_d2syn, ce_txtsyn, ce_dialogs;
|
||||
ce_common, ce_observer, ce_writableComponent, ce_d2syn, ce_txtsyn, ce_dialogs,
|
||||
ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -357,8 +358,6 @@ end;
|
|||
|
||||
{$REGION TCESynMemo ------------------------------------------------------------}
|
||||
constructor TCESynMemo.Create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
|
@ -390,13 +389,7 @@ begin
|
|||
fSyncEdit := TSynPluginSyncroEdit.Create(self);
|
||||
fSyncEdit.Editor := self;
|
||||
fSyncEdit.CaseSensitive := true;
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('link_edit');
|
||||
fSyncEdit.GutterGlyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
AssignPng(fSyncEdit.GutterGlyph, 'link_edit');
|
||||
//
|
||||
fCompletionCaseSens:=false;
|
||||
fCompletion := TSyncompletion.create(nil);
|
||||
|
|
|
@ -8,7 +8,7 @@ uses
|
|||
Classes, SysUtils, FileUtil, ListFilterEdit, Forms, Controls,
|
||||
strutils, Graphics, Dialogs, ExtCtrls, Menus, Buttons, ComCtrls,
|
||||
ce_widget, process, ce_common, ce_interfaces, ce_synmemo, ce_processes,
|
||||
ce_nativeproject, ce_symstring, ce_writableComponent, ce_observer;
|
||||
ce_nativeproject, ce_symstring, ce_writableComponent, ce_observer, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -192,7 +192,6 @@ end;
|
|||
{$REGION Standard Comp/Obj -----------------------------------------------------}
|
||||
constructor TCETodoListWidget.Create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
fname: string;
|
||||
begin
|
||||
inherited;
|
||||
|
@ -212,15 +211,8 @@ begin
|
|||
lstfilter.OnChange := @filterItems;
|
||||
btnGo.OnClick := @handleListClick;
|
||||
//
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('arrow_update');
|
||||
btnRefresh.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('arrow_pen');
|
||||
btnGo.Glyph.Assign(png);
|
||||
finally
|
||||
png.Free;
|
||||
end;
|
||||
AssignPng(btnRefresh, 'arrow_update');
|
||||
AssignPng(btnGo, 'arrow_pen');
|
||||
//
|
||||
fname := getCoeditDocPath + OptFname;
|
||||
if FileExists(fname) then
|
||||
|
|
|
@ -6,7 +6,7 @@ interface
|
|||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, Menus, Buttons, StdCtrls, ce_widget, ce_tools;
|
||||
ExtCtrls, Menus, Buttons, StdCtrls, ce_widget, ce_tools, ce_sharedres;
|
||||
|
||||
type
|
||||
|
||||
|
@ -46,28 +46,17 @@ implementation
|
|||
{$R *.lfm}
|
||||
|
||||
constructor TCEToolsEditorWidget.create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
AssignPng(btnMoveUp, 'arrow_up');
|
||||
AssignPng(btnMoveDown, 'arrow_down');
|
||||
AssignPng(BtnAddTool, 'application_add');
|
||||
AssignPng(btnRemTool, 'application_delete');
|
||||
AssignPng(btnRun, 'application_flash');
|
||||
AssignPng(btnClone, 'application_double');
|
||||
//
|
||||
propsEd.CheckboxForBoolean := true;
|
||||
png := TPortableNetworkGraphic.Create;
|
||||
try
|
||||
png.LoadFromLazarusResource('arrow_up');
|
||||
btnMoveUp.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('arrow_down');
|
||||
btnMoveDown.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('application_add');
|
||||
BtnAddTool.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('application_delete');
|
||||
btnRemTool.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('application_flash');
|
||||
btnRun.Glyph.Assign(png);
|
||||
png.LoadFromLazarusResource('application_double');
|
||||
btnClone.Glyph.Assign(png);
|
||||
finally
|
||||
png.free;
|
||||
end;
|
||||
rebuildToolList;
|
||||
end;
|
||||
|
||||
|
|
Loading…
Reference in New Issue