mirror of https://gitlab.com/basile.b/dexed.git
This commit is contained in:
parent
63e5c9ab19
commit
9f2e572f6d
|
@ -34,7 +34,7 @@ object TCEProject
|
|||
documentationOptions.generateJSON = False
|
||||
documentationOptions.DocumentationDirectory = '..\doc'
|
||||
debugingOptions.debug = True
|
||||
debugingOptions.debugIdentifier = '2'
|
||||
debugingOptions.debugIdentifier = '1'
|
||||
debugingOptions.addDInformations = False
|
||||
debugingOptions.addCInformations = False
|
||||
debugingOptions.generateMapFile = False
|
||||
|
@ -54,7 +54,6 @@ object TCEProject
|
|||
outputOptions.release = False
|
||||
outputOptions.unittest = True
|
||||
outputOptions.versionIdentifier = 'revision_1'
|
||||
pathsOptions.outputFilename = '..\output\main.exe'
|
||||
end>
|
||||
Sources.Strings = (
|
||||
'..\src\main.d'
|
||||
|
|
|
@ -12,5 +12,6 @@ class Bar{
|
|||
debug(1) writeln("bar says: debug level < 2");
|
||||
debug(2) writeln("bar says: debug level < 3");
|
||||
debug(3) writeln("bar says: debug level < 4");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,5 +12,6 @@ class Foo{
|
|||
debug(1) writeln("foo says: debug level < 2");
|
||||
debug(2) writeln("foo says: debug level < 3");
|
||||
debug(3) writeln("foo says: debug level < 4");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,4 +17,6 @@ void main(string args[])
|
|||
{
|
||||
auto foo = new Foo;
|
||||
auto bar = new Bar;
|
||||
|
||||
readln;
|
||||
}
|
||||
|
|
|
@ -70,6 +70,7 @@ type
|
|||
procedure afterChanged;
|
||||
procedure reset;
|
||||
function getAbsoluteSourceName(const aIndex: integer): string;
|
||||
function getAbsoluteFilename(const aFilename: string): string;
|
||||
procedure addSource(const aFilename: string);
|
||||
function addConfiguration: TCompilerConfiguration;
|
||||
function getOpts: string;
|
||||
|
@ -222,8 +223,12 @@ begin
|
|||
end;
|
||||
|
||||
procedure TCEProject.setOptsColl(const aValue: TCollection);
|
||||
var
|
||||
i: nativeInt;
|
||||
begin
|
||||
fOptsColl.Assign(aValue);
|
||||
for i:= 0 to self.fOptsColl.Count-1 do
|
||||
Configuration[i].onChanged := @subMemberChanged;
|
||||
end;
|
||||
|
||||
procedure TCEProject.addSource(const aFilename: string);
|
||||
|
@ -314,7 +319,7 @@ end;
|
|||
function TCEProject.getConfig(const ix: integer): TCompilerConfiguration;
|
||||
begin
|
||||
result := TCompilerConfiguration(fOptsColl.Items[ix]);
|
||||
//result.onChanged := @subMemberChanged;
|
||||
result.onChanged := @subMemberChanged;
|
||||
end;
|
||||
|
||||
function TCEProject.getCurrConf: TCompilerConfiguration;
|
||||
|
@ -377,5 +382,10 @@ begin
|
|||
result := expandFileNameEx(fBasePath, fSrcs.Strings[aIndex]);
|
||||
end;
|
||||
|
||||
function TCEProject.getAbsoluteFilename(const aFilename: string): string;
|
||||
begin
|
||||
result := expandFileNameEx(fBasePath, aFilename);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
@ -713,6 +713,7 @@ end;
|
|||
|
||||
destructor TCompilerConfiguration.destroy;
|
||||
begin
|
||||
fOnChanged := nil;
|
||||
fDocOpts.free;
|
||||
fDebugOpts.free;
|
||||
fMsgOpts.free;
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
inherited CEEditorWidget: TCEEditorWidget
|
||||
Left = 1167
|
||||
Height = 336
|
||||
Left = 1098
|
||||
Height = 405
|
||||
Top = 89
|
||||
Width = 508
|
||||
Width = 556
|
||||
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
|
||||
Caption = 'EditorWidget'
|
||||
ClientHeight = 336
|
||||
ClientWidth = 508
|
||||
Caption = 'Source editor'
|
||||
ClientHeight = 405
|
||||
ClientWidth = 556
|
||||
inherited Back: TPanel
|
||||
Height = 336
|
||||
Width = 508
|
||||
ClientHeight = 336
|
||||
ClientWidth = 508
|
||||
Height = 405
|
||||
Width = 556
|
||||
ClientHeight = 405
|
||||
ClientWidth = 556
|
||||
inherited Content: TPanel
|
||||
Height = 310
|
||||
Width = 508
|
||||
ClientHeight = 306
|
||||
ClientWidth = 504
|
||||
Height = 379
|
||||
Width = 556
|
||||
ClientHeight = 379
|
||||
ClientWidth = 556
|
||||
object PageControl: TExtendedNotebook[0]
|
||||
Left = 2
|
||||
Height = 279
|
||||
Top = 2
|
||||
Width = 500
|
||||
Left = 3
|
||||
Height = 350
|
||||
Top = 3
|
||||
Width = 550
|
||||
Align = alClient
|
||||
BorderSpacing.Around = 2
|
||||
TabOrder = 0
|
||||
|
@ -30,10 +30,10 @@ inherited CEEditorWidget: TCEEditorWidget
|
|||
TabDragAcceptMode = dmAutomatic
|
||||
end
|
||||
object editorStatus: TStatusBar[1]
|
||||
Left = 0
|
||||
Left = 1
|
||||
Height = 23
|
||||
Top = 283
|
||||
Width = 504
|
||||
Top = 355
|
||||
Width = 554
|
||||
Panels = <
|
||||
item
|
||||
Width = 100
|
||||
|
@ -48,7 +48,7 @@ inherited CEEditorWidget: TCEEditorWidget
|
|||
end
|
||||
end
|
||||
inherited Header: TPanel
|
||||
Width = 508
|
||||
Width = 556
|
||||
end
|
||||
end
|
||||
object macRecorder: TSynMacroRecorder[2]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
object CEMainForm: TCEMainForm
|
||||
Left = 1167
|
||||
Left = 1098
|
||||
Height = 52
|
||||
Top = 0
|
||||
Width = 736
|
||||
Width = 805
|
||||
Caption = 'Coedit'
|
||||
DockSite = True
|
||||
DragMode = dmAutomatic
|
||||
|
@ -250,6 +250,9 @@ object CEMainForm: TCEMainForm
|
|||
27EAB9872E00BB893200BB8A3300BB8A3500BB871D00BB871F00
|
||||
}
|
||||
end
|
||||
object MenuItem50: TMenuItem
|
||||
Action = actFileSaveAll
|
||||
end
|
||||
object MenuItem25: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
|
@ -578,7 +581,7 @@ object CEMainForm: TCEMainForm
|
|||
Caption = '-'
|
||||
end
|
||||
object MenuItem22: TMenuItem
|
||||
Action = actMacStartStop
|
||||
Action = actEdMacStartStop
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
|
@ -617,7 +620,7 @@ object CEMainForm: TCEMainForm
|
|||
}
|
||||
end
|
||||
object MenuItem23: TMenuItem
|
||||
Action = actMacPlay
|
||||
Action = actEdMacPlay
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
|
@ -1018,6 +1021,15 @@ object CEMainForm: TCEMainForm
|
|||
0000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
end
|
||||
object MenuItem47: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object MenuItem48: TMenuItem
|
||||
Action = actProjRun
|
||||
end
|
||||
object MenuItem49: TMenuItem
|
||||
Action = actProjRunWithArgs
|
||||
end
|
||||
end
|
||||
object MenuItem8: TMenuItem
|
||||
Caption = 'Run'
|
||||
|
@ -1219,6 +1231,15 @@ object CEMainForm: TCEMainForm
|
|||
0000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
end
|
||||
object MenuItem44: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object MenuItem45: TMenuItem
|
||||
Action = actProjRun
|
||||
end
|
||||
object MenuItem46: TMenuItem
|
||||
Action = actProjRunWithArgs
|
||||
end
|
||||
end
|
||||
object mnuItemWin: TMenuItem
|
||||
Caption = 'Window'
|
||||
|
@ -1263,18 +1284,18 @@ object CEMainForm: TCEMainForm
|
|||
OnExecute = actEdRedoExecute
|
||||
ShortCut = 24666
|
||||
end
|
||||
object actMacStartStop: TAction
|
||||
object actEdMacStartStop: TAction
|
||||
Category = 'Edit'
|
||||
Caption = 'Start/stop macro recording'
|
||||
ImageIndex = 10
|
||||
OnExecute = actMacStartStopExecute
|
||||
OnExecute = actEdMacStartStopExecute
|
||||
ShortCut = 24658
|
||||
end
|
||||
object actMacPlay: TAction
|
||||
object actEdMacPlay: TAction
|
||||
Category = 'Edit'
|
||||
Caption = 'Play macro'
|
||||
ImageIndex = 11
|
||||
OnExecute = actMacPlayExecute
|
||||
OnExecute = actEdMacPlayExecute
|
||||
ShortCut = 24656
|
||||
end
|
||||
object actFileSave: TAction
|
||||
|
@ -1383,11 +1404,25 @@ object CEMainForm: TCEMainForm
|
|||
Category = 'Project'
|
||||
Caption = 'Compile and run project'
|
||||
ImageIndex = 21
|
||||
OnExecute = actProjCompileAndRunExecute
|
||||
end
|
||||
object actProjCompAndRunWithArgs: TAction
|
||||
Category = 'Project'
|
||||
Caption = 'Compile and run project...'
|
||||
ImageIndex = 21
|
||||
OnExecute = actProjCompAndRunWithArgsExecute
|
||||
end
|
||||
object actProjRun: TAction
|
||||
Category = 'Project'
|
||||
Caption = 'Run project'
|
||||
ImageIndex = 21
|
||||
OnExecute = actProjRunExecute
|
||||
end
|
||||
object actProjRunWithArgs: TAction
|
||||
Category = 'Project'
|
||||
Caption = 'Run project...'
|
||||
ImageIndex = 21
|
||||
OnExecute = actProjRunWithArgsExecute
|
||||
end
|
||||
end
|
||||
object imgList: TImageList
|
||||
|
@ -2292,4 +2327,9 @@ object CEMainForm: TCEMainForm
|
|||
003300000023FFFFFF00FFFFFF00
|
||||
}
|
||||
end
|
||||
object ApplicationProperties1: TApplicationProperties
|
||||
HintPause = 2
|
||||
HintShortPause = 2
|
||||
left = 96
|
||||
end
|
||||
end
|
||||
|
|
115
src/ce_main.pas
115
src/ce_main.pas
|
@ -22,9 +22,11 @@ type
|
|||
actFileOpen: TAction;
|
||||
actFileSaveAs: TAction;
|
||||
actFileSave: TAction;
|
||||
actFileCompAndRunWithArgs: TAction;
|
||||
actProjRun: TAction;
|
||||
actProjRunWithArgs: TAction;
|
||||
actProjCompile: TAction;
|
||||
actProjCompileAndRun: TAction;
|
||||
ActFileCompAndRunWithArgs: TAction;
|
||||
actProjCompAndRunWithArgs: TAction;
|
||||
actProjClose: TAction;
|
||||
actProjOpts: TAction;
|
||||
|
@ -32,14 +34,15 @@ type
|
|||
actProjOpen: TAction;
|
||||
actProjSave: TAction;
|
||||
actProjSaveAs: TAction;
|
||||
actMacPlay: TAction;
|
||||
actMacStartStop: TAction;
|
||||
actEdMacPlay: TAction;
|
||||
actEdMacStartStop: TAction;
|
||||
actEdCut: TAction;
|
||||
actEdRedo: TAction;
|
||||
actEdUndo: TAction;
|
||||
actEdPaste: TAction;
|
||||
actEdCopy: TAction;
|
||||
Actions: TActionList;
|
||||
ApplicationProperties1: TApplicationProperties;
|
||||
imgList: TImageList;
|
||||
mainMenu: TMainMenu;
|
||||
MenuItem1: TMenuItem;
|
||||
|
@ -79,6 +82,13 @@ type
|
|||
MenuItem41: TMenuItem;
|
||||
MenuItem42: TMenuItem;
|
||||
MenuItem43: TMenuItem;
|
||||
MenuItem44: TMenuItem;
|
||||
MenuItem45: TMenuItem;
|
||||
MenuItem46: TMenuItem;
|
||||
MenuItem47: TMenuItem;
|
||||
MenuItem48: TMenuItem;
|
||||
MenuItem49: TMenuItem;
|
||||
MenuItem50: TMenuItem;
|
||||
mnuItemWin: TMenuItem;
|
||||
MenuItem4: TMenuItem;
|
||||
MenuItem5: TMenuItem;
|
||||
|
@ -89,14 +99,16 @@ type
|
|||
procedure actFileAddToProjExecute(Sender: TObject);
|
||||
procedure actFileCloseExecute(Sender: TObject);
|
||||
procedure actFileCompAndRunExecute(Sender: TObject);
|
||||
procedure ActFileCompAndRunWithArgsExecute(Sender: TObject);
|
||||
procedure actFileCompAndRunWithArgsExecute(Sender: TObject);
|
||||
procedure actFileSaveAllExecute(Sender: TObject);
|
||||
procedure actProjCompAndRunWithArgsExecute(Sender: TObject);
|
||||
procedure actProjCompileAndRunExecute(Sender: TObject);
|
||||
procedure actProjCompileExecute(Sender: TObject);
|
||||
procedure actEdCopyExecute(Sender: TObject);
|
||||
procedure actEdCutExecute(Sender: TObject);
|
||||
procedure ActionsUpdate(AAction: TBasicAction; var Handled: Boolean);
|
||||
procedure actMacPlayExecute(Sender: TObject);
|
||||
procedure actMacStartStopExecute(Sender: TObject);
|
||||
procedure actEdMacPlayExecute(Sender: TObject);
|
||||
procedure actEdMacStartStopExecute(Sender: TObject);
|
||||
procedure actFileNewExecute(Sender: TObject);
|
||||
procedure actProjNewExecute(Sender: TObject);
|
||||
procedure actFileNewRunExecute(Sender: TObject);
|
||||
|
@ -108,6 +120,8 @@ type
|
|||
procedure actEdRedoExecute(Sender: TObject);
|
||||
procedure actFileSaveAsExecute(Sender: TObject);
|
||||
procedure actFileSaveExecute(Sender: TObject);
|
||||
procedure actProjRunExecute(Sender: TObject);
|
||||
procedure actProjRunWithArgsExecute(Sender: TObject);
|
||||
procedure actProjSaveAsExecute(Sender: TObject);
|
||||
procedure actProjSaveExecute(Sender: TObject);
|
||||
procedure actEdUndoExecute(Sender: TObject);
|
||||
|
@ -128,7 +142,7 @@ type
|
|||
procedure ProcessOutputToMsg(const aProcess: TProcess);
|
||||
procedure compileAndRunFile(const edIndex: NativeInt; const runArgs: string = '');
|
||||
procedure compileProject(const aProject: TCEProject);
|
||||
procedure runProject(const aProject: TCEProject);
|
||||
procedure runProject(const aProject: TCEProject; const runArgs: string = '');
|
||||
|
||||
// file sub routines
|
||||
procedure newFile;
|
||||
|
@ -166,6 +180,8 @@ implementation
|
|||
uses
|
||||
SynMacroRecorder;
|
||||
|
||||
// TODO: warnings, OkCancel dialogs
|
||||
|
||||
{$REGION std comp methods ******************************************************}
|
||||
constructor TCEMainForm.create(aOwner: TComponent);
|
||||
var
|
||||
|
@ -235,8 +251,8 @@ begin
|
|||
actEdPaste.Enabled := curr.CanPaste;
|
||||
actEdUndo.Enabled := curr.CanUndo;
|
||||
actEdRedo.Enabled := curr.CanRedo;
|
||||
actMacPlay.Enabled := true;
|
||||
actMacStartStop.Enabled := true;
|
||||
actEdMacPlay.Enabled := true;
|
||||
actEdMacStartStop.Enabled := true;
|
||||
//
|
||||
actFileCompAndRun.Enabled := true;
|
||||
actFileCompAndRunWithArgs.Enabled := true;
|
||||
|
@ -251,8 +267,8 @@ begin
|
|||
actEdPaste.Enabled := false ;
|
||||
actEdUndo.Enabled := false ;
|
||||
actEdRedo.Enabled := false ;
|
||||
actMacPlay.Enabled := false;
|
||||
actMacStartStop.Enabled := false;
|
||||
actEdMacPlay.Enabled := false;
|
||||
actEdMacStartStop.Enabled := false;
|
||||
//
|
||||
actFileCompAndRun.Enabled := false;
|
||||
actFileCompAndRunWithArgs.Enabled := false;
|
||||
|
@ -270,6 +286,8 @@ begin
|
|||
actProjCompile.Enabled := hasProj;
|
||||
actProjCompileAndRun.Enabled := hasProj;
|
||||
actProjCompAndRunWithArgs.Enabled := hasProj;
|
||||
actProjRun.Enabled := hasProj;
|
||||
actProjRunWithArgs.Enabled := hasProj;
|
||||
|
||||
actFileAddToProj.Enabled := hasEd and hasProj;
|
||||
|
||||
|
@ -518,7 +536,7 @@ begin
|
|||
if assigned(curr) then curr.Redo;
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actMacPlayExecute(Sender: TObject);
|
||||
procedure TCEMainForm.actEdMacPlayExecute(Sender: TObject);
|
||||
var
|
||||
curr: TCESynMemo;
|
||||
begin
|
||||
|
@ -526,7 +544,7 @@ begin
|
|||
if assigned(curr) then fEditWidg.macRecorder.PlaybackMacro(curr);
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actMacStartStopExecute(Sender: TObject);
|
||||
procedure TCEMainForm.actEdMacStartStopExecute(Sender: TObject);
|
||||
var
|
||||
curr: TCESynMemo;
|
||||
begin
|
||||
|
@ -576,6 +594,7 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
// TODO: input handling
|
||||
procedure TCEMainForm.compileAndRunFile(const edIndex: NativeInt; const runArgs: string = '');
|
||||
var
|
||||
dmdproc: TProcess;
|
||||
|
@ -685,10 +704,45 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.runProject(const aProject: TCEProject);
|
||||
procedure TCEMainForm.runProject(const aProject: TCEProject; const runArgs: string = '');
|
||||
var
|
||||
runproc: TProcess;
|
||||
procname: string;
|
||||
begin
|
||||
if aProject.currentConfiguration.outputOptions.binaryKind <>
|
||||
executable then exit;
|
||||
|
||||
runproc := TProcess.Create(nil);
|
||||
try
|
||||
runproc.Options:= [poNewConsole];
|
||||
|
||||
procname := aProject.currentConfiguration.pathsOptions.outputFilename;
|
||||
if procname <> '' then procname := aProject.getAbsoluteFilename(procname)
|
||||
else
|
||||
begin
|
||||
procname := extractFilename(aProject.Sources.Strings[0]);
|
||||
procname := procname[1..length(procname)-2];
|
||||
procname := extractFilePath(aProject.fileName) +
|
||||
DirectorySeparator + procname;
|
||||
{$IFDEF MSWINDOWS}
|
||||
procname += '.exe';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
if not fileExists(procname) then
|
||||
begin
|
||||
fMesgWidg.addCeErr('output executable missing: ' + procname);
|
||||
exit;
|
||||
end;
|
||||
|
||||
runproc.Executable := procname;
|
||||
runproc.Parameters.Text := runArgs;
|
||||
runproc.Execute;
|
||||
|
||||
finally
|
||||
runproc.Free;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actFileCompAndRunExecute(Sender: TObject);
|
||||
|
@ -699,7 +753,7 @@ begin
|
|||
compileAndRunFile(fEditWidg.editorIndex);
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.ActFileCompAndRunWithArgsExecute(Sender: TObject);
|
||||
procedure TCEMainForm.actFileCompAndRunWithArgsExecute(Sender: TObject);
|
||||
var
|
||||
runargs: string;
|
||||
begin
|
||||
|
@ -715,6 +769,37 @@ procedure TCEMainForm.actProjCompileExecute(Sender: TObject);
|
|||
begin
|
||||
compileProject(fProject);
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actProjCompileAndRunExecute(Sender: TObject);
|
||||
begin
|
||||
compileProject(fProject);
|
||||
runProject(fProject);
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actProjCompAndRunWithArgsExecute(Sender: TObject);
|
||||
var
|
||||
runargs: string;
|
||||
begin
|
||||
compileProject(fProject);
|
||||
//
|
||||
runargs := '';
|
||||
if InputQuery('Execution arguments', 'enter switches and arguments',
|
||||
runargs) then runProject(fProject, runargs);
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actProjRunExecute(Sender: TObject);
|
||||
begin
|
||||
runProject(fProject);
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.actProjRunWithArgsExecute(Sender: TObject);
|
||||
var
|
||||
runargs: string;
|
||||
begin
|
||||
runargs := '';
|
||||
if InputQuery('Execution arguments', 'enter switches and arguments',
|
||||
runargs) then runProject(fProject, runargs);
|
||||
end;
|
||||
{$ENDREGION}
|
||||
|
||||
{$REGION view ******************************************************************}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
inherited CEMessagesWidget: TCEMessagesWidget
|
||||
Left = 1168
|
||||
Height = 220
|
||||
Top = 463
|
||||
Width = 737
|
||||
Caption = 'MessagesWidget'
|
||||
ClientHeight = 220
|
||||
ClientWidth = 737
|
||||
Left = 1098
|
||||
Height = 152
|
||||
Top = 531
|
||||
Width = 807
|
||||
Caption = 'Messages'
|
||||
ClientHeight = 152
|
||||
ClientWidth = 807
|
||||
inherited Back: TPanel
|
||||
Height = 220
|
||||
Width = 737
|
||||
ClientHeight = 220
|
||||
ClientWidth = 737
|
||||
Height = 152
|
||||
Width = 807
|
||||
ClientHeight = 152
|
||||
ClientWidth = 807
|
||||
inherited Content: TPanel
|
||||
Height = 194
|
||||
Width = 737
|
||||
ClientHeight = 190
|
||||
ClientWidth = 733
|
||||
Height = 126
|
||||
Width = 807
|
||||
ClientHeight = 126
|
||||
ClientWidth = 807
|
||||
object List: TListView[0]
|
||||
Left = 2
|
||||
Height = 186
|
||||
Top = 2
|
||||
Width = 729
|
||||
Left = 3
|
||||
Height = 120
|
||||
Top = 3
|
||||
Width = 801
|
||||
Align = alClient
|
||||
AutoSort = False
|
||||
AutoWidthLastColumn = True
|
||||
BorderSpacing.Around = 2
|
||||
Columns = <
|
||||
item
|
||||
Width = 725
|
||||
Width = 797
|
||||
end>
|
||||
HideSelection = False
|
||||
ReadOnly = True
|
||||
|
@ -39,7 +39,7 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
|||
end
|
||||
end
|
||||
inherited Header: TPanel
|
||||
Width = 737
|
||||
Width = 807
|
||||
end
|
||||
end
|
||||
object imgList: TImageList[2]
|
||||
|
|
|
@ -21,7 +21,6 @@ type
|
|||
procedure actSaveMsgExecute(Sender: TObject);
|
||||
public
|
||||
constructor create(aOwner: TComponent); override;
|
||||
destructor destroy; override;
|
||||
//
|
||||
procedure scrollToBack;
|
||||
procedure addMessage(const aMsg: string);
|
||||
|
@ -71,11 +70,6 @@ begin
|
|||
contextMenu.Items.Add(itm);
|
||||
end;
|
||||
|
||||
destructor TCEMessagesWidget.destroy;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TCEMessagesWidget.scrollToBack;
|
||||
begin
|
||||
if not Visible then exit;
|
||||
|
@ -212,4 +206,3 @@ begin
|
|||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
@ -1,68 +1,70 @@
|
|||
inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget
|
||||
Left = 1170
|
||||
Left = 1098
|
||||
Height = 278
|
||||
Top = 722
|
||||
Width = 445
|
||||
Width = 448
|
||||
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
|
||||
Caption = 'ProjectConfigurationWidget'
|
||||
Caption = 'Project configuration'
|
||||
ClientHeight = 278
|
||||
ClientWidth = 445
|
||||
ClientWidth = 448
|
||||
inherited Back: TPanel
|
||||
Height = 278
|
||||
Width = 445
|
||||
Width = 448
|
||||
ClientHeight = 278
|
||||
ClientWidth = 445
|
||||
DragKind = dkDrag
|
||||
DragMode = dmManual
|
||||
ClientWidth = 448
|
||||
inherited Content: TPanel
|
||||
Height = 252
|
||||
Width = 445
|
||||
ClientHeight = 248
|
||||
ClientWidth = 441
|
||||
Width = 448
|
||||
ClientHeight = 252
|
||||
ClientWidth = 448
|
||||
object Tree: TTreeView[0]
|
||||
Left = 4
|
||||
Height = 214
|
||||
Top = 30
|
||||
Left = 5
|
||||
Height = 216
|
||||
Top = 31
|
||||
Width = 190
|
||||
Align = alLeft
|
||||
AutoExpand = True
|
||||
BorderSpacing.Around = 4
|
||||
BorderSpacing.Left = 4
|
||||
BorderSpacing.Top = 4
|
||||
BorderSpacing.Bottom = 4
|
||||
DefaultItemHeight = 18
|
||||
HideSelection = False
|
||||
ReadOnly = True
|
||||
ScrollBars = ssAutoBoth
|
||||
ShowRoot = False
|
||||
TabOrder = 0
|
||||
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoToolTips, tvoThemedDraw]
|
||||
OnChange = TreeChange
|
||||
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoToolTips, tvoThemedDraw]
|
||||
Items.Data = {
|
||||
F9FFFFFF020003000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
|
||||
0000000700000047656E6572616CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0500
|
||||
000000000000010A00000043617465676F72696573FFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFF000000000000000000080000004D65737361676573FFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF000000000000000000080000004465627567696E67FF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000D000000446F6375
|
||||
6D656E746174696F6EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000
|
||||
0000060000004F7574707574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
|
||||
0000000000060000004F7468657273FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00000000000000000E000000416C6C2063617465676F72696573
|
||||
F9FFFFFF020003000000FFFFFFFFFFFFFFFF01000000FFFFFFFF000000000000
|
||||
0000000700000047656E6572616CFFFFFFFFFFFFFFFF02000000FFFFFFFF0600
|
||||
000000000000010A00000043617465676F72696573FFFFFFFFFFFFFFFF020000
|
||||
00FFFFFFFF000000000000000000080000004D65737361676573FFFFFFFFFFFF
|
||||
FFFF03000000FFFFFFFF000000000000000000080000004465627567696E67FF
|
||||
FFFFFFFFFFFFFF04000000FFFFFFFF0000000000000000000D000000446F6375
|
||||
6D656E746174696F6EFFFFFFFFFFFFFFFF05000000FFFFFFFF00000000000000
|
||||
0000060000004F7574707574FFFFFFFFFFFFFFFF06000000FFFFFFFF00000000
|
||||
0000000000060000004F7468657273FFFFFFFFFFFFFFFF07000000FFFFFFFF00
|
||||
0000000000000000050000005061746873FFFFFFFFFFFFFFFF08000000FFFFFF
|
||||
FF0000000000000000000E000000416C6C2063617465676F72696573
|
||||
}
|
||||
end
|
||||
inline frameEditAll: TCEProjConfAll[1]
|
||||
Left = 198
|
||||
Height = 218
|
||||
Top = 28
|
||||
Width = 241
|
||||
Left = 202
|
||||
Height = 220
|
||||
Top = 29
|
||||
Width = 243
|
||||
Align = alClient
|
||||
BorderSpacing.Around = 2
|
||||
ClientHeight = 218
|
||||
ClientWidth = 241
|
||||
ClientHeight = 220
|
||||
ClientWidth = 243
|
||||
TabOrder = 1
|
||||
DesignLeft = 1406
|
||||
DesignTop = 572
|
||||
inherited Grid: TTIPropertyGrid
|
||||
Left = 2
|
||||
Height = 214
|
||||
Height = 216
|
||||
Top = 2
|
||||
Width = 237
|
||||
Width = 239
|
||||
BackgroundColor = clDefault
|
||||
BorderSpacing.Around = 2
|
||||
DefaultItemHeight = 22
|
||||
|
@ -71,21 +73,21 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget
|
|||
end
|
||||
end
|
||||
object Panel1: TPanel[2]
|
||||
Left = 2
|
||||
Left = 3
|
||||
Height = 24
|
||||
Top = 2
|
||||
Width = 437
|
||||
Top = 3
|
||||
Width = 442
|
||||
Align = alTop
|
||||
BorderSpacing.Around = 2
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 24
|
||||
ClientWidth = 437
|
||||
ClientWidth = 442
|
||||
TabOrder = 2
|
||||
object selConf: TComboBox
|
||||
Left = 0
|
||||
Height = 23
|
||||
Top = 1
|
||||
Width = 346
|
||||
Width = 351
|
||||
Align = alClient
|
||||
BorderSpacing.Top = 1
|
||||
BorderSpacing.Right = 1
|
||||
|
@ -95,7 +97,7 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget
|
|||
TabOrder = 0
|
||||
end
|
||||
object btnAddConf: TSpeedButton
|
||||
Left = 347
|
||||
Left = 352
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 30
|
||||
|
@ -140,7 +142,7 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget
|
|||
ShowCaption = False
|
||||
end
|
||||
object btnDelConf: TSpeedButton
|
||||
Left = 377
|
||||
Left = 382
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 30
|
||||
|
@ -185,7 +187,7 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget
|
|||
ShowCaption = False
|
||||
end
|
||||
object btnCloneConf: TSpeedButton
|
||||
Left = 407
|
||||
Left = 412
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 30
|
||||
|
@ -230,9 +232,15 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget
|
|||
ShowCaption = False
|
||||
end
|
||||
end
|
||||
object Splitter1: TSplitter[3]
|
||||
Left = 195
|
||||
Height = 222
|
||||
Top = 29
|
||||
Width = 5
|
||||
end
|
||||
end
|
||||
inherited Header: TPanel
|
||||
Width = 445
|
||||
Width = 448
|
||||
end
|
||||
end
|
||||
object imgList: TImageList[2]
|
||||
|
|
|
@ -20,17 +20,20 @@ type
|
|||
btnAddConf: TSpeedButton;
|
||||
btnDelConf: TSpeedButton;
|
||||
btnCloneConf: TSpeedButton;
|
||||
Splitter1: TSplitter;
|
||||
Tree: TTreeView;
|
||||
procedure btnAddConfClick(Sender: TObject);
|
||||
procedure btnDelConfClick(Sender: TObject);
|
||||
procedure btnCloneCurrClick(Sender: TObject);
|
||||
procedure selConfChange(Sender: TObject);
|
||||
procedure SpeedButton1Click(Sender: TObject);
|
||||
procedure TreeChange(Sender: TObject; Node: TTreeNode);
|
||||
private
|
||||
fProj: TCEProject;
|
||||
function getGridTarget: TPersistent;
|
||||
protected
|
||||
procedure manualWidgetUpdate; override;
|
||||
public
|
||||
constructor create(aOwner: TComponent); override;
|
||||
procedure projNew(const aProject: TCEProject); override;
|
||||
procedure projChange(const aProject: TCEProject); override;
|
||||
procedure projClose(const aProject: TCEProject); override;
|
||||
|
@ -40,6 +43,12 @@ type
|
|||
implementation
|
||||
{$R *.lfm}
|
||||
|
||||
constructor TCEProjectConfigurationWidget.create(aOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
Tree.Selected := Tree.Items.GetLastNode;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.projNew(const aProject: TCEProject);
|
||||
begin
|
||||
beginManualWidgetUpdate;
|
||||
|
@ -72,9 +81,10 @@ begin
|
|||
endManualWidgetUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.SpeedButton1Click(Sender: TObject);
|
||||
procedure TCEProjectConfigurationWidget.TreeChange(Sender: TObject;
|
||||
Node: TTreeNode);
|
||||
begin
|
||||
|
||||
frameEditAll.Grid.TIObject := getGridTarget;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.btnAddConfClick(Sender: TObject);
|
||||
|
@ -123,6 +133,24 @@ begin
|
|||
endManualWidgetUpdate;
|
||||
end;
|
||||
|
||||
function TCEProjectConfigurationWidget.getGridTarget: TPersistent;
|
||||
begin
|
||||
if fProj = nil then exit(nil);
|
||||
if fProj.ConfigurationIndex = -1 then exit(nil);
|
||||
if Tree.Selected = nil then exit(nil);
|
||||
case Tree.Selected.StateIndex of
|
||||
1: exit( fProj );
|
||||
2: exit( fProj.currentConfiguration.messagesOptions );
|
||||
3: exit( fProj.currentConfiguration.debugingOptions );
|
||||
4: exit( fProj.currentConfiguration.documentationOptions );
|
||||
5: exit( fProj.currentConfiguration.outputOptions );
|
||||
6: exit( fProj.currentConfiguration.otherOptions );
|
||||
7: exit( fProj.currentConfiguration.pathsOptions );
|
||||
8: exit( fProj.currentConfiguration );
|
||||
else result := nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.manualWidgetUpdate;
|
||||
var
|
||||
i: NativeInt;
|
||||
|
@ -133,8 +161,7 @@ begin
|
|||
selConf.Items.Add(fProj.configuration[i].name);
|
||||
selConf.ItemIndex := fProj.ConfigurationIndex;
|
||||
|
||||
frameEditAll.Grid.TIObject :=
|
||||
fProj.configuration[fProj.ConfigurationIndex];
|
||||
frameEditAll.Grid.TIObject := getGridTarget;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
inherited CEProjectWidget: TCEProjectWidget
|
||||
Left = 1691
|
||||
Height = 336
|
||||
Left = 1670
|
||||
Height = 405
|
||||
Top = 89
|
||||
Width = 217
|
||||
Caption = 'ProjectWidget'
|
||||
ClientHeight = 336
|
||||
ClientWidth = 217
|
||||
Width = 238
|
||||
Caption = 'Project inspector'
|
||||
ClientHeight = 405
|
||||
ClientWidth = 238
|
||||
inherited Back: TPanel
|
||||
Height = 336
|
||||
Width = 217
|
||||
ClientHeight = 336
|
||||
ClientWidth = 217
|
||||
Height = 405
|
||||
Width = 238
|
||||
ClientHeight = 405
|
||||
ClientWidth = 238
|
||||
inherited Content: TPanel
|
||||
Height = 310
|
||||
Width = 217
|
||||
ClientHeight = 306
|
||||
ClientWidth = 213
|
||||
Height = 379
|
||||
Width = 238
|
||||
ClientHeight = 379
|
||||
ClientWidth = 238
|
||||
object Tree: TTreeView[0]
|
||||
Left = 2
|
||||
Height = 276
|
||||
Top = 28
|
||||
Width = 209
|
||||
Left = 3
|
||||
Height = 347
|
||||
Top = 29
|
||||
Width = 232
|
||||
Align = alClient
|
||||
AutoExpand = True
|
||||
BorderSpacing.Around = 2
|
||||
|
@ -38,66 +38,66 @@ inherited CEProjectWidget: TCEProjectWidget
|
|||
}
|
||||
end
|
||||
object Panel1: TPanel[1]
|
||||
Left = 2
|
||||
Left = 3
|
||||
Height = 24
|
||||
Top = 2
|
||||
Width = 209
|
||||
Top = 3
|
||||
Width = 232
|
||||
Align = alTop
|
||||
BorderSpacing.Around = 2
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 24
|
||||
ClientWidth = 209
|
||||
ClientWidth = 232
|
||||
TabOrder = 1
|
||||
object btnAddFile: TSpeedButton
|
||||
Left = 0
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 30
|
||||
Width = 28
|
||||
Align = alLeft
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF0000000000000000000000000000000000000000000000002A000000330000
|
||||
00330000003300000033000000330000003300000023FFFFFF00FFFFFF00FFFF
|
||||
FF0000000030000000330000003300000033000000333E7F42DB4A854CFF4B84
|
||||
4CFF4C844CFF4B844CFF4B844BFF4B854DFF477D49C0FFFFFF00FFFFFF00FFFF
|
||||
FF00B1B1AFF2AFAFADFFAEAEABFFAFAFADFFBAB3B7FF3F7F41FF4EC592FF45BF
|
||||
89FF47BF8AFF45BE89FF44BE89FF5DCB9CFF4B854DFFFFFFFF00FFFFFF00FFFF
|
||||
FF00B0B0ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF397A3AFF50C191FFFFFF
|
||||
FFFF2CAE74FF8CD3B4FFFFFFFFFF54C395FF4A844AFFFFFFFF00FFFFFF00FFFF
|
||||
FF00AEAEABFFFFFFFFFFFDFDFCFFFFFEFEFFFFFFFFFF367737FF59C095FFFFFF
|
||||
FFFF73C7A2FFFFFFFFFF81CDACFF64C69EFF49844AFFFFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFF8F8F8FFFBFAFBFFFFFFFFFF357736FF68C5A1FFFFFF
|
||||
FFFFFFFFFFFF69C29CFF0F9D62FF76CBABFF488449FFFFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFF6F5F5FFF9F7F8FFFFFFFFFF347736FF7FCDB0FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFF87D1B6FF478349FFFFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFF3F2F2FFF5F3F4FFFFFBFFFF327736FF8FD5BCFF89D1
|
||||
B6FF86CFB3FF87CFB4FF8CD2B8FF95D9C2FF47854AFFFFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFF0F0EFFFF1F1F0FFFAF6F8FF7DA780FF327736FF3478
|
||||
36FF337736FF337736FF357938FF3D7F41FF47864BA8FFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFEEECEBFFEEEDECFFF1EFEFFFF7F3F5FFFCF5F9FFFDF5
|
||||
FAFFFDF5FAFFFDF5FAFFFFFFFFFFBEB5BBFF00000000FFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFEAE9E9FFEBEAEAFFEBEAEAFFEBEAEAFFF6F5F5FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFB2B0B0FF00000000FFFFFF00FFFFFF00FFFF
|
||||
FF00ADADABFFFFFFFFFFE7E7E6FFE8E8E7FFE8E8E7FFE6E7E5FFFFFFFFFFCBCB
|
||||
CAFFA6A6A4FFA5A5A2FFFFFFFFFFAFAFADFF00000000FFFFFF00FFFFFF00FFFF
|
||||
FF00AEAEABFFFFFFFFFFE4E3E2FFE5E4E3FFE5E4E3FFE4E3E2FFFFFFFFFFA6A6
|
||||
A4FFFBFBFAFFFFFFFFFFE9E9E9FFB0B0AEAC00000000FFFFFF00FFFFFF00FFFF
|
||||
FF00AEAEACFFFFFFFFFFE0DFDEFFE1DFDEFFE1DFDEFFE0DFDEFFFFFFFFFFA5A5
|
||||
A2FFFFFFFFFFE7E7E8FFAFAFACA70000000000000000FFFFFF00FFFFFF00FFFF
|
||||
FF00AFAFADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFE9E9E9FFAEAEACA6000000000000000000000000FFFFFF00FFFFFF00FFFF
|
||||
FF00B3B3B1EFB0B0ADFFAEAEACFFAEAEABFFAEAEABFFADAEABFFAEAEABFFAFAF
|
||||
ADFFB0B0AEEA00000000000000000000000000000000FFFFFF00
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF000000
|
||||
001D000000340000003600000036000000360000003600000036000000360000
|
||||
0036155A2EA1196A36F5196B37FF196A36F517613296FFFFFF00FFFFFF000000
|
||||
0034F9F9F9F5FCFCFCFDFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF86B1
|
||||
96FF288C53FF64BA8DFF95D2B2FF64BA8DFF288C53FF196B378C000000010000
|
||||
0036FCFCFCFEFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF2271
|
||||
3FFF62BA8BFF60BA87FFFFFFFFFF60B987FF67BC8FFF196B37F7000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFF317B
|
||||
4CFF9CD4B6FFFFFFFFFFFFFFFFFFFFFFFFFF95D2B2FF196B37FF000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFAFAFAFF4A8B
|
||||
62FF90D3B1FF92D6B1FFFFFFFFFF65BC8CFF67BC8FFF196B37F7000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFA5C4
|
||||
B1FF61AB81FF95D4B4FFBAE6D0FF6ABB8FFF2D8F57FF196B378C000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFB
|
||||
FBFFABC8B6FF609975FF4F8E66FF4A8A61FF26623C9800000001000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFAFA
|
||||
FAFFF9F9F9FFF6F6F6FFF6F6F6FFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8
|
||||
F8FFF6F6F6FFF3F3F3FFF2F2F2FFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5
|
||||
F5FFF2F2F2FFEFEFEFFFEDEDEDFFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFFBFBFBFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5F5FFF1F1
|
||||
F1FFECECECFFEAEAEAFFE6E6E6FFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFF9F9F9FFF9F9F9FFF9F9F9FFF7F7F7FFF6F6F6FFF2F2F2FFEBEB
|
||||
EBFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFF7F7F7FFF9F9F9FFF7F7F7FFF7F7F7FFF3F3F3FFF0F0F0FFEAEA
|
||||
EAFFFCFCFCFFF6F6F6FFF4F4F4FF9999999100000020FFFFFF00FFFFFF000000
|
||||
0036FBFBFBFDF4F4F4FFF5F5F5FFF5F5F5FFF5F5F5FFF1F1F1FFEFEFEFFFE9E9
|
||||
E9FFFCFCFCFFE7E7E7FF959595910000002000000002FFFFFF00FFFFFF000000
|
||||
0033F8F8F8F0FBFBFBFDFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC
|
||||
FCFFF8F8F8FF949494910000002000000002FFFFFF00FFFFFF00FFFFFF000000
|
||||
001C000000330000003600000036000000360000003600000036000000360000
|
||||
0036000000360000002000000002FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
OnClick = btnAddFileClick
|
||||
ShowCaption = False
|
||||
end
|
||||
object btnProjOpts: TSpeedButton
|
||||
Left = 60
|
||||
Left = 84
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 30
|
||||
Width = 28
|
||||
Action = CEMainForm.actProjOpts
|
||||
Align = alLeft
|
||||
Glyph.Data = {
|
||||
|
@ -139,10 +139,10 @@ inherited CEProjectWidget: TCEProjectWidget
|
|||
ShowCaption = False
|
||||
end
|
||||
object btnAddFold: TSpeedButton
|
||||
Left = 30
|
||||
Left = 56
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 30
|
||||
Width = 28
|
||||
Align = alLeft
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
|
@ -184,10 +184,10 @@ inherited CEProjectWidget: TCEProjectWidget
|
|||
ShowCaption = False
|
||||
end
|
||||
object TreeFilterEdit1: TTreeFilterEdit
|
||||
Left = 92
|
||||
Left = 114
|
||||
Height = 20
|
||||
Top = 2
|
||||
Width = 115
|
||||
Width = 116
|
||||
ButtonWidth = 30
|
||||
NumGlyphs = 1
|
||||
Align = alClient
|
||||
|
@ -197,10 +197,54 @@ inherited CEProjectWidget: TCEProjectWidget
|
|||
FilteredTreeview = Tree
|
||||
ExpandAllInitially = True
|
||||
end
|
||||
object btnRemFile: TSpeedButton
|
||||
Left = 28
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 28
|
||||
Align = alLeft
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF000000
|
||||
001D000000340000003600000036000000360000003600000036000000360000
|
||||
003617469E950343B3E60442BCFE0343B4E9033DA489FFFFFF00FFFFFF000000
|
||||
0034F9F9F9F5FCFCFCFDFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF8BA9
|
||||
DFFF2866CAFF2177E6FF0579EAFF0164DDFF044DBCFD0345B87A000000010000
|
||||
0036FCFCFCFEFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF1E59
|
||||
C0FF639DF4FF187FFFFF0076F8FF0076EEFF0368E1FF0345B9E4000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFF0543
|
||||
BCFFAECDFEFFFFFFFFFFFFFFFFFFFFFFFFFF187FEFFF0442BCFE000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFAFAFAFF245C
|
||||
C2FF8DB5F6FF4D92FFFF1177FFFF2186FFFF408AEBFF0344B9DE000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFF93AE
|
||||
E1FF3D76D2FF8DB5F7FFB8D6FEFF72A8F5FF2D6BCAFD0442B96E000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFB
|
||||
FBFF92ADE0FF2A61C7FF0543BCFF1F5AC1FF0237959500000001000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFAFA
|
||||
FAFFF9F9F9FFF6F6F6FFF6F6F6FFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8
|
||||
F8FFF6F6F6FFF3F3F3FFF2F2F2FFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5
|
||||
F5FFF2F2F2FFEFEFEFFFEDEDEDFFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFFBFBFBFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5F5FFF1F1
|
||||
F1FFECECECFFEAEAEAFFE6E6E6FFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFF9F9F9FFF9F9F9FFF9F9F9FFF7F7F7FFF6F6F6FFF2F2F2FFEBEB
|
||||
EBFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF0000003600000001000000010000
|
||||
0036FCFCFCFFF7F7F7FFF9F9F9FFF7F7F7FFF7F7F7FFF3F3F3FFF0F0F0FFEAEA
|
||||
EAFFFCFCFCFFF6F6F6FFF4F4F4FF9999999100000020FFFFFF00FFFFFF000000
|
||||
0036FBFBFBFDF4F4F4FFF5F5F5FFF5F5F5FFF5F5F5FFF1F1F1FFEFEFEFFFE9E9
|
||||
E9FFFCFCFCFFE7E7E7FF959595910000002000000002FFFFFF00FFFFFF000000
|
||||
0033F8F8F8F0FBFBFBFDFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC
|
||||
FCFFF8F8F8FF949494910000002000000002FFFFFF00FFFFFF00FFFFFF000000
|
||||
001C000000330000003600000036000000360000003600000036000000360000
|
||||
0036000000360000002000000002FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
OnClick = btnRemFileClick
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited Header: TPanel
|
||||
Width = 217
|
||||
Width = 238
|
||||
end
|
||||
end
|
||||
object imgList: TImageList[2]
|
||||
|
|
|
@ -16,10 +16,12 @@ type
|
|||
btnAddFile: TSpeedButton;
|
||||
btnProjOpts: TSpeedButton;
|
||||
btnAddFold: TSpeedButton;
|
||||
btnRemFile: TSpeedButton;
|
||||
Tree: TTreeView;
|
||||
TreeFilterEdit1: TTreeFilterEdit;
|
||||
procedure btnAddFileClick(Sender: TObject);
|
||||
procedure btnAddFoldClick(Sender: TObject);
|
||||
procedure btnRemFileClick(Sender: TObject);
|
||||
protected
|
||||
procedure manualWidgetUpdate; override;
|
||||
private
|
||||
|
@ -100,7 +102,7 @@ begin
|
|||
//
|
||||
with TOpenDialog.Create(nil) do
|
||||
try
|
||||
filter := 'd source|*.d|d interface|*.di|all files|*.*';
|
||||
filter := 'D source|*.d|D interface|*.di|all files|*.*';
|
||||
if execute then
|
||||
fProject.addSource(filename);
|
||||
finally
|
||||
|
@ -116,8 +118,8 @@ var
|
|||
begin
|
||||
if fProject = nil then exit;
|
||||
//
|
||||
if fileexists(fProject.fileName) then
|
||||
dir := extractfilePath(fProject.fileName)
|
||||
if fileExists(fProject.fileName) then
|
||||
dir := extractFilePath(fProject.fileName)
|
||||
else dir := '';
|
||||
if selectDirectory(dir, [], 0) then
|
||||
begin
|
||||
|
@ -141,6 +143,23 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TCEProjectWidget.btnRemFileClick(Sender: TObject);
|
||||
var
|
||||
fname: string;
|
||||
i: NativeInt;
|
||||
begin
|
||||
if fProject = nil then exit;
|
||||
if Tree.Selected = nil then exit;
|
||||
//
|
||||
if Tree.Selected.Parent = fFileNode then
|
||||
begin
|
||||
fname := Tree.Selected.Text;
|
||||
i := fProject.Sources.IndexOf(fname);
|
||||
if i > -1 then fProject.Sources.Delete(i);
|
||||
manualWidgetUpdate;
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TCEProjectWidget.manualWidgetUpdate;
|
||||
var
|
||||
src, conf: string;
|
||||
|
@ -168,4 +187,3 @@ begin
|
|||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
object CEWidget: TCEWidget
|
||||
Left = 1538
|
||||
Left = 1628
|
||||
Height = 121
|
||||
Top = 735
|
||||
Top = 721
|
||||
Width = 320
|
||||
BorderIcons = [biMinimize, biMaximize]
|
||||
Caption = 'CEWidget'
|
||||
|
|
Loading…
Reference in New Issue