mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 19:59:14 +02:00
converted todolist to lfm from Darius
git-svn-id: trunk@8419 -
This commit is contained in:
parent
02d9d81ee8
commit
ad4cc7ea32
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -1078,6 +1078,8 @@ ide/startlazarus.lpr svneol=native#text/pascal
|
||||
ide/startlazarus.rc svneol=native#text/plain
|
||||
ide/startlazopts.pas svneol=native#text/pascal
|
||||
ide/sysvaruseroverridedlg.pas svneol=native#text/pascal
|
||||
ide/todolist.lfm svneol=native#text/plain
|
||||
ide/todolist.lrs svneol=native#text/plain
|
||||
ide/todolist.pp svneol=native#text/pascal
|
||||
ide/transfermacros.pp svneol=native#text/pascal
|
||||
ide/unitdependencies.lrs svneol=native#text/pascal
|
||||
@ -1480,6 +1482,10 @@ images/sourceeditor/bookmark8.xpm -text svneol=native#image/x-xpixmap
|
||||
images/sourceeditor/bookmark9.ico -text svneol=unset#image/x-icon
|
||||
images/sourceeditor/bookmark9.xpm -text svneol=native#image/x-xpixmap
|
||||
images/splash_logo.xpm -text svneol=native#image/x-xpixmap
|
||||
images/todo_goto.bmp -text
|
||||
images/todo_options.bmp -text
|
||||
images/todo_print.bmp -text
|
||||
images/todo_refresh.bmp -text
|
||||
images/unitdependencies/srctype_circle_22x22.xpm -text svneol=native#image/x-xpixmap
|
||||
images/unitdependencies/srctype_filenotfound_22x22.xpm -text svneol=native#image/x-xpixmap
|
||||
images/unitdependencies/srctype_forbiddencircle_22x22.xpm -text svneol=native#image/x-xpixmap
|
||||
|
161
ide/todolist.lfm
Normal file
161
ide/todolist.lfm
Normal file
@ -0,0 +1,161 @@
|
||||
object frmTodo: TfrmTodo
|
||||
ActiveControl = lvTodo
|
||||
Caption = 'frmTodo'
|
||||
ClientHeight = 300
|
||||
ClientWidth = 500
|
||||
KeyPreview = True
|
||||
OnKeyDown = FormKeyDown
|
||||
PixelsPerInch = 96
|
||||
Position = poScreenCenter
|
||||
HorzScrollBar.Page = 499
|
||||
VertScrollBar.Page = 299
|
||||
Left = 313
|
||||
Height = 300
|
||||
Top = 610
|
||||
Width = 500
|
||||
object StatusBar: TStatusBar
|
||||
Panels = <>
|
||||
Height = 23
|
||||
Top = 277
|
||||
Width = 500
|
||||
end
|
||||
object lvTodo: TListView
|
||||
Align = alClient
|
||||
Columns = <
|
||||
item
|
||||
AutoSize = True
|
||||
Caption = 'Caption'
|
||||
end
|
||||
item
|
||||
AutoSize = True
|
||||
Caption = 'Caption'
|
||||
end
|
||||
item
|
||||
AutoSize = True
|
||||
Caption = 'Caption'
|
||||
end
|
||||
item
|
||||
AutoSize = True
|
||||
Caption = 'Caption'
|
||||
end>
|
||||
RowSelect = True
|
||||
ScrollBars = ssAutoBoth
|
||||
ViewStyle = vsReport
|
||||
OnDblClick = tbGotoClick
|
||||
Height = 229
|
||||
Top = 48
|
||||
Width = 500
|
||||
end
|
||||
object ToolBar: TToolBar
|
||||
ButtonHeight = 46
|
||||
ButtonWidth = 47
|
||||
Caption = 'ToolBar'
|
||||
Flat = True
|
||||
Height = 48
|
||||
Images = ImageList1
|
||||
ParentShowHint = False
|
||||
ShowCaptions = True
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
Height = 48
|
||||
Width = 500
|
||||
object tbOptions: TToolButton
|
||||
Caption = 'Options'
|
||||
ImageIndex = 3
|
||||
Visible = False
|
||||
Left = 142
|
||||
Height = 46
|
||||
Top = 2
|
||||
Width = 47
|
||||
end
|
||||
object tbPrint: TToolButton
|
||||
Caption = 'Print'
|
||||
ImageIndex = 2
|
||||
Visible = False
|
||||
Left = 95
|
||||
Height = 46
|
||||
Top = 2
|
||||
Width = 47
|
||||
end
|
||||
object tbRefresh: TToolButton
|
||||
Caption = 'Refresh'
|
||||
ImageIndex = 0
|
||||
OnClick = tbRefreshClick
|
||||
Left = 1
|
||||
Height = 46
|
||||
Top = 2
|
||||
Width = 47
|
||||
end
|
||||
object tbGoto: TToolButton
|
||||
Caption = 'Goto'
|
||||
ImageIndex = 1
|
||||
OnClick = tbGotoClick
|
||||
Left = 48
|
||||
Height = 46
|
||||
Top = 2
|
||||
Width = 47
|
||||
end
|
||||
end
|
||||
object ImageList1: TImageList
|
||||
left = 121
|
||||
top = 42
|
||||
Bitmap = {
|
||||
6C690400000010000000100000009C0100002F2A2058504D202A2F0A73746174
|
||||
69632063686172202A677261706869635B5D203D207B0A223136203136203320
|
||||
31222C0A222E2063204E6F6E65222C0A222C20632023333133313331222C0A22
|
||||
2D20632023354141444646222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E22
|
||||
2C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2C2C2C2C2C2C2E2E2E222C0A222E
|
||||
2E2E2E2E2C2C2D2D2D2C2C2C2C2E2E222C0A222E2E2E2E2C2C2D2D2C2C2C2E2E
|
||||
2E2E2E222C0A222E2E2E2E2C2D2D2C2E2E2E2E2E2E2E2E222C0A222E2E2E2C2C
|
||||
2D2D2C2E2E2E2E2E2E2E2E222C0A222E2E2E2C2D2D2C2E2E2E2E2E2E2E2E2E22
|
||||
2C0A222E2E2E2C2D2D2C2E2E2E2E2E2E2E2E2E222C0A222E2E2E2C2D2D2C2E2E
|
||||
2E2E2E2E2E2E2E222C0A222E2C2C2D2D2D2C2C2C2C2E2E2E2E2E2E222C0A222E
|
||||
2E2C2D2D2D2D2D2C2E2E2E2E2E2E2E222C0A222E2E2E2C2C2D2C2C2E2E2E2E2E
|
||||
2E2E2E222C0A222E2E2E2E2C2C2C2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E
|
||||
2C2E2E2E2E2E2E2E2E2E2E227D0AAB0100002F2A2058504D202A2F0A73746174
|
||||
69632063686172202A677261706869635B5D203D207B0A223136203136203420
|
||||
31222C0A222E2063204E6F6E65222C0A222C20632023333133313331222C0A22
|
||||
2D20632023464646464646222C0A222A20632023464630303030222C0A222E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E222C0A222E2E2E2C2C2C2C2C2C2C2E2E2E2E2E2E222C0A222E2E2E2C2D2D
|
||||
2D2D2D2D2C2E2E2E2E2E222C0A222E2E2E2C2D2D2D2D2D2D2D2C2E2E2E2E222C
|
||||
0A222E2E2E2C2D2D2D2D2D2D2D2D2C2E2E2E222C0A222E2E2E2C2D2D2D2D2D2D
|
||||
2D2D2C2E2E2E222C0A222E2E2E2C2D2D2D2D2D2D2D2D2C2E2E2E222C0A222E2A
|
||||
2E2C2D2D2D2D2D2D2D2D2C2E2E2E222C0A222E2E2A2A2A2A2A2A2A2A2A2A2A2E
|
||||
2E2E222C0A222E2A2E2C2D2D2D2D2D2D2D2D2C2E2E2E222C0A222E2E2E2C2D2D
|
||||
2D2D2D2D2D2D2C2E2E2E222C0A222E2E2E2C2D2D2D2D2D2D2D2D2C2E2E2E222C
|
||||
0A222E2E2E2C2C2C2C2C2C2C2C2C2C2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0AC90100
|
||||
002F2A2058504D202A2F0A7374617469632063686172202A677261706869635B
|
||||
5D203D207B0A22313620313620362031222C0A222E2063202330303030303022
|
||||
2C0A222C20632023383438343834222C0A222D20632023333133313331222C0A
|
||||
222A2063204E6F6E65222C0A226120632023433743374337222C0A2262206320
|
||||
23303046463030222C0A222E2E2C2E2D2E2E2E2E2E2E2E2E2E2E2E222C0A222E
|
||||
2E2C2E2D2E2E2E2E2E2E2E2E2E2E2E222C0A222A2A2A2A2A2A2A2A2A2A2A2A2A
|
||||
2A2A2A222C0A222A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A222C0A222A2A2A2A2A
|
||||
2A2A2D2D2D2D2D2D2D2A2A222C0A222A2A2A2A2A2A2D2E2E2E2E2E2D2A2A2A22
|
||||
2C0A222A2A2A2A2A2D2E2E2E2E2E2D2A2A2A2A222C0A222A2A2A2A2D2E2E2E2E
|
||||
2E2D2D2D2D2D2A222C0A222A2A2A2D2D2D2D2D2D2D2D61612D2D2A222C0A222A
|
||||
2A2D6161616161616161612D2C2D2A222C0A222A2A2D2D2D2D2D2D2D2D2D2D2C
|
||||
2C2D2A222C0A222A2A2D612E61626161612D2C2C2D2D2A222C0A222A2A2D2D2D
|
||||
2D2D2D2D2D2D2D2D2D2A2A222C0A222A2A2D61616161616161612D2D2A2A2A22
|
||||
2C0A222A2A2A2D2D2D2D2D2D2D2D2D2A2A2A2A222C0A222A2A2A2A2A2A2A2A2A
|
||||
2A2A2A2A2A2A2A227D0ABA0100002F2A2058504D202A2F0A7374617469632063
|
||||
686172202A677261706869635B5D203D207B0A22313620313620352031222C0A
|
||||
222E2063204E6F6E65222C0A222C20632023333133313331222C0A222D206320
|
||||
23303035414336222C0A222A20632023464646464646222C0A22612063202346
|
||||
4630303030222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2C2C
|
||||
2C2C2C2C2C2C2C2C2C2C2C2C2E222C0A222E2C2D2D2D2D2D2D2D2D2D2D2D2D2C
|
||||
2E222C0A222E2C2C2C2C2C2C2C2C2C2C2C2C2C2C2E222C0A222E2C2A2A2A2A2A
|
||||
2A2A2A2A2A2A2A2C2E222C0A222E2C2A612A2A2A61612A2A2A2A2A2C2E222C0A
|
||||
222E2C2A61612A61612A2A2A2A2A2A2C2E222C0A222E2C2A2A6161612A2A2A2A
|
||||
2A2A2A2C2E222C0A222E2C2A2A2A612A2A2A2A2A2A2A2A2C2E222C0A222E2C2A
|
||||
612A2A2A61612A2A2A2A2A2C2E222C0A222E2C2A61612A61612A2A2A2A2A2A2C
|
||||
2E222C0A222E2C2A2A6161612A2A2A2A2A2A2A2C2E222C0A222E2C2A2A2A612A
|
||||
2A2A2A2A2A2A2A2C2E222C0A222E2C2A2A2A2A2A2A2A2A2A2A2A2A2C2E222C0A
|
||||
222E2C2C2C2C2C2C2C2C2C2C2C2C2C2C2E222C0A222E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E227D0A
|
||||
}
|
||||
end
|
||||
end
|
57
ide/todolist.lrs
Normal file
57
ide/todolist.lrs
Normal file
@ -0,0 +1,57 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmTodo','FORMDATA',[
|
||||
'TPF0'#8'TfrmTodo'#7'frmTodo'#13'ActiveControl'#7#6'lvTodo'#7'Caption'#6#7'fr'
|
||||
+'mTodo'#12'ClientHeight'#3','#1#11'ClientWidth'#3#244#1#10'KeyPreview'#9#9'O'
|
||||
+'nKeyDown'#7#11'FormKeyDown'#13'PixelsPerInch'#2'`'#8'Position'#7#14'poScree'
|
||||
+'nCenter'#18'HorzScrollBar.Page'#3#243#1#18'VertScrollBar.Page'#3'+'#1#4'Lef'
|
||||
+'t'#3'9'#1#6'Height'#3','#1#3'Top'#3'b'#2#5'Width'#3#244#1#0#10'TStatusBar'#9
|
||||
+'StatusBar'#6'Panels'#14#0#6'Height'#2#23#3'Top'#3#21#1#5'Width'#3#244#1#0#0
|
||||
+#9'TListView'#6'lvTodo'#5'Align'#7#8'alClient'#7'Columns'#14#1#8'AutoSize'#9
|
||||
+#7'Caption'#6#7'Caption'#0#1#8'AutoSize'#9#7'Caption'#6#7'Caption'#0#1#8'Aut'
|
||||
+'oSize'#9#7'Caption'#6#7'Caption'#0#1#8'AutoSize'#9#7'Caption'#6#7'Caption'#0
|
||||
+#0#9'RowSelect'#9#10'ScrollBars'#7#10'ssAutoBoth'#9'ViewStyle'#7#8'vsReport'
|
||||
+#10'OnDblClick'#7#11'tbGotoClick'#6'Height'#3#229#0#3'Top'#2'0'#5'Width'#3
|
||||
+#244#1#0#0#8'TToolBar'#7'ToolBar'#12'ButtonHeight'#2'.'#11'ButtonWidth'#2'/'
|
||||
+#7'Caption'#6#7'ToolBar'#4'Flat'#9#6'Height'#2'0'#6'Images'#7#10'ImageList1'
|
||||
+#14'ParentShowHint'#8#12'ShowCaptions'#9#8'ShowHint'#9#8'TabOrder'#2#1#6'Hei'
|
||||
+'ght'#2'0'#5'Width'#3#244#1#0#11'TToolButton'#9'tbOptions'#7'Caption'#6#7'Op'
|
||||
+'tions'#10'ImageIndex'#2#3#7'Visible'#8#4'Left'#3#142#0#6'Height'#2'.'#3'Top'
|
||||
+#2#2#5'Width'#2'/'#0#0#11'TToolButton'#7'tbPrint'#7'Caption'#6#5'Print'#10'I'
|
||||
+'mageIndex'#2#2#7'Visible'#8#4'Left'#2'_'#6'Height'#2'.'#3'Top'#2#2#5'Width'
|
||||
+#2'/'#0#0#11'TToolButton'#9'tbRefresh'#7'Caption'#6#7'Refresh'#10'ImageIndex'
|
||||
+#2#0#7'OnClick'#7#14'tbRefreshClick'#4'Left'#2#1#6'Height'#2'.'#3'Top'#2#2#5
|
||||
+'Width'#2'/'#0#0#11'TToolButton'#6'tbGoto'#7'Caption'#6#4'Goto'#10'ImageInde'
|
||||
+'x'#2#1#7'OnClick'#7#11'tbGotoClick'#4'Left'#2'0'#6'Height'#2'.'#3'Top'#2#2#5
|
||||
+'Width'#2'/'#0#0#0#10'TImageList'#10'ImageList1'#4'left'#2'y'#3'top'#2'*'#6
|
||||
+'Bitmap'#10#232#6#0#0'li'#4#0#0#0#16#0#0#0#16#0#0#0#156#1#0#0'/* XPM */'#10
|
||||
+'static char *graphic[] = {'#10'"16 16 3 1",'#10'". c None",'#10'", c #31313'
|
||||
+'1",'#10'"- c #5AADFF",'#10'"................",'#10'"................",'#10
|
||||
+'"................",'#10'".......,,,,,,...",'#10'".....,,---,,,,..",'#10'"..'
|
||||
+'..,,--,,,.....",'#10'"....,--,........",'#10'"...,,--,........",'#10'"...,-'
|
||||
+'-,.........",'#10'"...,--,.........",'#10'"...,--,.........",'#10'".,,---,,'
|
||||
+',,......",'#10'"..,-----,.......",'#10'"...,,-,,........",'#10'"....,,,....'
|
||||
+'.....",'#10'".....,.........."}'#10#171#1#0#0'/* XPM */'#10'static char *gr'
|
||||
+'aphic[] = {'#10'"16 16 4 1",'#10'". c None",'#10'", c #313131",'#10'"- c #F'
|
||||
+'FFFFF",'#10'"* c #FF0000",'#10'"................",'#10'"................",'
|
||||
+#10'"...,,,,,,,......",'#10'"...,------,.....",'#10'"...,-------,....",'#10
|
||||
+'"...,--------,...",'#10'"...,--------,...",'#10'"...,--------,...",'#10'".*'
|
||||
+'.,--------,...",'#10'"..***********...",'#10'".*.,--------,...",'#10'"...,-'
|
||||
+'-------,...",'#10'"...,--------,...",'#10'"...,,,,,,,,,,...",'#10'"........'
|
||||
+'........",'#10'"................"}'#10#201#1#0#0'/* XPM */'#10'static char '
|
||||
+'*graphic[] = {'#10'"16 16 6 1",'#10'". c #000000",'#10'", c #848484",'#10'"'
|
||||
+'- c #313131",'#10'"* c None",'#10'"a c #C7C7C7",'#10'"b c #00FF00",'#10'"..'
|
||||
+',.-...........",'#10'"..,.-...........",'#10'"****************",'#10'"*****'
|
||||
+'***********",'#10'"*******-------**",'#10'"******-.....-***",'#10'"*****-..'
|
||||
+'...-****",'#10'"****-.....-----*",'#10'"***--------aa--*",'#10'"**-aaaaaaaa'
|
||||
+'a-,-*",'#10'"**----------,,-*",'#10'"**-a.abaaa-,,--*",'#10'"**------------'
|
||||
+'**",'#10'"**-aaaaaaaa--***",'#10'"***---------****",'#10'"****************"'
|
||||
+'}'#10#186#1#0#0'/* XPM */'#10'static char *graphic[] = {'#10'"16 16 5 1",'
|
||||
+#10'". c None",'#10'", c #313131",'#10'"- c #005AC6",'#10'"* c #FFFFFF",'#10
|
||||
+'"a c #FF0000",'#10'"................",'#10'".,,,,,,,,,,,,,,.",'#10'".,-----'
|
||||
+'-------,.",'#10'".,,,,,,,,,,,,,,.",'#10'".,************,.",'#10'".,*a***aa*'
|
||||
+'****,.",'#10'".,*aa*aa******,.",'#10'".,**aaa*******,.",'#10'".,***a*******'
|
||||
+'*,.",'#10'".,*a***aa*****,.",'#10'".,*aa*aa******,.",'#10'".,**aaa*******,.'
|
||||
+'",'#10'".,***a********,.",'#10'".,************,.",'#10'".,,,,,,,,,,,,,,.",'
|
||||
+#10'"................"}'#10#0#0#0
|
||||
]);
|
345
ide/todolist.pp
345
ide/todolist.pp
@ -67,9 +67,20 @@ type
|
||||
TOnOpenFile = procedure(Sender: TObject; const Filename: string;
|
||||
const LineNumber: integer) of object;
|
||||
|
||||
TfrmToDo = class(TForm)
|
||||
StatusBar:TStatusBar;
|
||||
lvTodo:TListView;
|
||||
{ TfrmTodo }
|
||||
|
||||
TfrmTodo = class(TForm)
|
||||
ImageList1: TImageList;
|
||||
lvTodo: TListView;
|
||||
StatusBar: TStatusBar;
|
||||
ToolBar: TToolBar;
|
||||
tbGoto: TToolButton;
|
||||
tbOptions: TToolButton;
|
||||
tbPrint: TToolButton;
|
||||
tbRefresh: TToolButton;
|
||||
procedure tbGotoClick(Sender: TObject);
|
||||
procedure tbRefreshClick(Sender: TObject);
|
||||
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift:TShiftState);
|
||||
private
|
||||
{ private declarations }
|
||||
fBuild : Boolean;
|
||||
@ -78,14 +89,8 @@ type
|
||||
fRootCBuffer : TCodeBuffer;
|
||||
fScannedFile : TStringList;
|
||||
|
||||
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift:TShiftState);
|
||||
procedure SetFileName(const AValue: String);
|
||||
|
||||
procedure actFileRefresh(Sender : TObject);
|
||||
procedure actEditGoto(Sender : TObject);
|
||||
procedure actFilePrint(Sender : TObject);
|
||||
procedure actOptionsCfg(Sender : TObject);
|
||||
|
||||
|
||||
procedure ParseComment(const aFileName: string; const SComment, EComment: string;
|
||||
const TokenString: string; LineNumber: Integer);
|
||||
procedure ParseDirective(aDirective : String);
|
||||
@ -101,7 +106,7 @@ type
|
||||
end;
|
||||
|
||||
var
|
||||
frmToDo: TfrmToDo;
|
||||
frmTodo: TfrmTodo;
|
||||
|
||||
implementation
|
||||
|
||||
@ -109,268 +114,35 @@ uses
|
||||
StrUtils,
|
||||
FileUtil;
|
||||
|
||||
Type
|
||||
PCharArray = Array[0..16+5] of PChar;
|
||||
const
|
||||
//Images of ToolBar
|
||||
cImg_ToDoRefresh : PCharArray=
|
||||
('16 16 5 1',
|
||||
'. c None',
|
||||
'# c #303030',
|
||||
'a c #58a8ff',
|
||||
' ',
|
||||
' ',
|
||||
'................',
|
||||
'................',
|
||||
'................',
|
||||
'.......######...',
|
||||
'.....##aaa####..',
|
||||
'....##aa###.....',
|
||||
'....#aa#........',
|
||||
'...##aa#........',
|
||||
'...#aa#.........',
|
||||
'...#aa#.........',
|
||||
'...#aa#.........',
|
||||
'.##aaa####......',
|
||||
'..#aaaaa#.......',
|
||||
'...##a##........',
|
||||
'....###.........',
|
||||
'.....#..........');
|
||||
|
||||
cImg_ToDoGotoLine : PCharArray=
|
||||
('16 16 5 1',
|
||||
'. c None',
|
||||
'# c #303030',
|
||||
'b c #ff0000',
|
||||
'a c #ffffff',
|
||||
' ',
|
||||
'................',
|
||||
'................',
|
||||
'...#######......',
|
||||
'...#aaaaaa#.....',
|
||||
'...#aaaaaaa#....',
|
||||
'...#aaaaaaaa#...',
|
||||
'...#aaaaaaaa#...',
|
||||
'...#aaaaaaaa#...',
|
||||
'.b.#aaaaaaaa#...',
|
||||
'..bbbbbbbbbbb...',
|
||||
'.b.#aaaaaaaa#...',
|
||||
'...#aaaaaaaa#...',
|
||||
'...#aaaaaaaa#...',
|
||||
'...##########...',
|
||||
'................',
|
||||
'................');
|
||||
|
||||
cImg_ToDoOptions : PCharArray=
|
||||
('16 16 5 1',
|
||||
'. c None',
|
||||
'a c #0058c0',
|
||||
'# c #303030',
|
||||
'c c #ff0000',
|
||||
'b c #ffffff',
|
||||
'................',
|
||||
'.##############.',
|
||||
'.#aaaaaaaaaaaa#.',
|
||||
'.##############.',
|
||||
'.#bbbbbbbbbbbb#.',
|
||||
'.#bcbbbccbbbbb#.',
|
||||
'.#bccbccbbbbbb#.',
|
||||
'.#bbcccbbbbbbb#.',
|
||||
'.#bbbcbbbbbbbb#.',
|
||||
'.#bcbbbccbbbbb#.',
|
||||
'.#bccbccbbbbbb#.',
|
||||
'.#bbcccbbbbbbb#.',
|
||||
'.#bbbcbbbbbbbb#.',
|
||||
'.#bbbbbbbbbbbb#.',
|
||||
'.##############.',
|
||||
'................');
|
||||
|
||||
cImg_ToDoPrint : PCharArray=
|
||||
('16 16 5 1',
|
||||
'. c None',
|
||||
'e c #00ff00',
|
||||
'# c #303030',
|
||||
'c c #808080',
|
||||
'b c #c3c3c3',
|
||||
'd c #ff0000',
|
||||
'a c #ffffff',
|
||||
'................',
|
||||
'................',
|
||||
'.......#######..',
|
||||
'......#aaaaa#...',
|
||||
'.....#aaaaa#....',
|
||||
'....#aaaaa#####.',
|
||||
'...########bb##.',
|
||||
'..#bbbbbbbbb#c#.',
|
||||
'..##########cc#.',
|
||||
'..#bdbebbb#cc##.',
|
||||
'..############..',
|
||||
'..#bbbbbbbb##...',
|
||||
'...#########....',
|
||||
'................');
|
||||
|
||||
|
||||
{ TfrmToDo }
|
||||
|
||||
constructor TfrmToDo.Create(AOwner: TComponent);
|
||||
var C : TListColumn;
|
||||
Btn : TSpeedButton;
|
||||
Bar :TPanel;
|
||||
Bmp : TBitMap;
|
||||
|
||||
procedure AssignResImg(SpdBtn: TSpeedButton; const ResName: string);
|
||||
Var PixM : TBitMap;
|
||||
begin
|
||||
if LazarusResources.Find(ResName)<>nil then
|
||||
begin
|
||||
PixM:=TBitMap.Create;
|
||||
try
|
||||
PixM.LoadFromLazarusResource(ResName);
|
||||
SpdBtn.Glyph.Assign(PixM);
|
||||
finally
|
||||
PixM.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{ TfrmTodo }
|
||||
|
||||
constructor TfrmTodo.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
fBuild:=False;
|
||||
fScannedFile:=TStringList.Create;
|
||||
Left := 456;
|
||||
Top := 116;
|
||||
Width := 477;
|
||||
Height := 307;
|
||||
|
||||
Caption := lisTodoListCaption;
|
||||
KeyPreview := True;
|
||||
Position := poScreenCenter;
|
||||
OnKeyDown :=@FormKeyDown;
|
||||
|
||||
StatusBar:=TStatusBar.Create(Self);
|
||||
with StatusBar do
|
||||
begin
|
||||
parent:=self;
|
||||
Left := 0;
|
||||
Top := 259;
|
||||
Width := 469;
|
||||
Height := 19;
|
||||
SimplePanel := True;
|
||||
end;
|
||||
tbRefresh.Hint := lisTodolistRefresh;
|
||||
tbGoto.Hint := listodoListGotoLine;
|
||||
tbPrint.Hint :=listodoListPrintList;
|
||||
tbOptions.Hint := lisToDoListOptions;
|
||||
|
||||
//Tool bar
|
||||
Bar:=TPanel.Create(Self);
|
||||
with Bar do
|
||||
begin
|
||||
parent:=self;
|
||||
Left := 0;
|
||||
Top := 0;
|
||||
Height := 22;
|
||||
Caption := '';
|
||||
Align:=alTop;
|
||||
ParentShowHint:=False;
|
||||
BevelOuter:=bvNone;
|
||||
BevelInner:=bvNone;
|
||||
end;
|
||||
|
||||
//Button refresh
|
||||
Btn:=TSpeedButton.Create(Bar);
|
||||
btn.Parent:=Bar;
|
||||
Btn.Flat :=True;
|
||||
Btn.Width :=20;
|
||||
Btn.Height:=20;
|
||||
Btn.Left :=0;
|
||||
Btn.Top :=0;
|
||||
Bmp:=TBitMap.Create;
|
||||
Bmp.Handle:=CreatePixmapIndirect(@cImg_ToDoRefresh[0], GetSysColor(COLOR_BTNFACE));
|
||||
Btn.Glyph.Assign(Bmp);
|
||||
Bmp.Free;
|
||||
Btn.ShowHint:=True;
|
||||
Btn.Hint := lisTodolistRefresh;
|
||||
Btn.OnClick:=@actFileRefresh;
|
||||
|
||||
//button Goto
|
||||
Btn:=TSpeedButton.Create(Bar);
|
||||
btn.Parent:=Bar;
|
||||
Btn.Flat :=True;
|
||||
Btn.Width :=20;
|
||||
Btn.Height:=20;
|
||||
Btn.Left :=22;
|
||||
Btn.Top :=0;
|
||||
Btn.ShowHint:=True;
|
||||
Bmp:=TBitMap.Create;
|
||||
Bmp.Handle:=CreatePixmapIndirect(@cImg_ToDoGotoLine[0], GetSysColor(COLOR_BTNFACE));
|
||||
Btn.Glyph.Assign(Bmp);
|
||||
Bmp.Free;
|
||||
Btn.Hint := listodoListGotoLine;
|
||||
Btn.OnClick:=@actEditGoto;
|
||||
|
||||
//button Print
|
||||
Btn:=TSpeedButton.Create(Bar);
|
||||
btn.Parent:=Bar;
|
||||
Btn.Flat :=True;
|
||||
Btn.Width :=20;
|
||||
Btn.Height:=20;
|
||||
Btn.Left :=42;
|
||||
Btn.Top :=0;
|
||||
Btn.ShowHint:=True;
|
||||
Btn.Hint :=listodoListPrintList;
|
||||
Bmp:=TBitMap.Create;
|
||||
Bmp.Handle:=CreatePixmapIndirect(@cImg_ToDoPrint[0], GetSysColor(COLOR_BTNFACE));
|
||||
Btn.Glyph.Assign(Bmp);
|
||||
Bmp.Free;
|
||||
Btn.OnClick:=@actFilePrint;
|
||||
|
||||
//button Options
|
||||
Btn:=TSpeedButton.Create(Bar);
|
||||
btn.Parent:=Bar;
|
||||
Btn.Flat :=True;
|
||||
Btn.Width :=20;
|
||||
Btn.Height:=20;
|
||||
Btn.Left :=62;
|
||||
Btn.Top :=0;
|
||||
Btn.ShowHint:=True;
|
||||
Bmp:=TBitMap.Create;
|
||||
Bmp.Handle:=CreatePixmapIndirect(@cImg_ToDoOptions[0], GetSysColor(COLOR_BTNFACE));
|
||||
Btn.Glyph.Assign(Bmp);
|
||||
Bmp.Free;
|
||||
Btn.Hint := lisToDoListOptions;
|
||||
Btn.OnClick:=@actOptionsCfg;
|
||||
|
||||
|
||||
lvTodo:=TListView.Create(Self);
|
||||
with lvTodo do
|
||||
begin
|
||||
parent := self;
|
||||
Left := 0;
|
||||
Top := 22;
|
||||
Width := 469;
|
||||
Height := 237;
|
||||
Align := alClient;
|
||||
RowSelect := True;
|
||||
ViewStyle := vsReport;
|
||||
lvToDo.OnDblClick := @actEditGoto;
|
||||
//priority column
|
||||
C:=Columns.Add;
|
||||
C.Caption := ' !';
|
||||
C.Width := 15;
|
||||
//Description column
|
||||
C:=Columns.Add;
|
||||
C.Caption := lisToDoLDescription;
|
||||
C.Width := 250;
|
||||
//File column
|
||||
C:=Columns.Add;
|
||||
C.Caption := lisToDoLFile;
|
||||
C.Width := 150;
|
||||
//Line column
|
||||
C:=Columns.Add;
|
||||
C.Caption := lisToDoLLine;
|
||||
C.Width := 28;
|
||||
Column[0].Caption := ' !';
|
||||
Column[0].Width := 25;
|
||||
Column[1].Caption := lisToDoLDescription;
|
||||
Column[1].Width := 250;
|
||||
Column[2].Caption := lisToDoLFile;
|
||||
Column[2].Width := 150;
|
||||
Column[3].Caption := lisToDoLLine;
|
||||
Column[3].Width := 50;
|
||||
end;
|
||||
|
||||
ActiveControl := lvTodo;
|
||||
end;
|
||||
|
||||
destructor TfrmToDo.Destroy;
|
||||
destructor TfrmTodo.Destroy;
|
||||
begin
|
||||
fScannedFile.Free;
|
||||
|
||||
@ -378,7 +150,7 @@ begin
|
||||
end;
|
||||
|
||||
//Load project main file and scan all files for find the syntax todo
|
||||
procedure TfrmToDo.actFileRefresh(Sender: TObject);
|
||||
procedure TfrmTodo.tbRefreshClick(Sender: TObject);
|
||||
var
|
||||
UsedInterfaceFilenames,
|
||||
UsedImplementationFilenames: TStrings;
|
||||
@ -386,7 +158,7 @@ var
|
||||
St : String;
|
||||
begin
|
||||
if fBuild then Exit;
|
||||
|
||||
|
||||
Screen.Cursor:=crHourGlass;
|
||||
Try
|
||||
fBuild:=True;
|
||||
@ -425,21 +197,21 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmToDo.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure TfrmTodo.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if Key=VK_ESCAPE then
|
||||
Close;
|
||||
end;
|
||||
|
||||
//Initialise then todo project and find them
|
||||
procedure TfrmToDo.SetFileName(const AValue: String);
|
||||
procedure TfrmTodo.SetFileName(const AValue: String);
|
||||
begin
|
||||
if fFileName=AValue then exit;
|
||||
fFileName:=AValue;
|
||||
actFileRefresh(nil);
|
||||
tbRefreshClick(nil);
|
||||
end;
|
||||
|
||||
procedure TfrmToDo.actEditGoto(Sender: TObject);
|
||||
procedure TfrmTodo.tbGotoClick(Sender: TObject);
|
||||
var
|
||||
CurFilename: String;
|
||||
TheItem: TListItem;
|
||||
@ -449,8 +221,6 @@ var
|
||||
i: integer;
|
||||
Found: boolean;
|
||||
begin
|
||||
//showMessage('not implemented');
|
||||
//exit;
|
||||
CurFilename:='';
|
||||
TheItem:= lvtodo.Selected;
|
||||
Found:= false;
|
||||
@ -476,8 +246,8 @@ begin
|
||||
CurFileName:= UsedInterFaceFileNames[i];
|
||||
Found:= true;
|
||||
break;
|
||||
end;//end
|
||||
end;//for
|
||||
end;
|
||||
end;
|
||||
if not Found then
|
||||
begin
|
||||
for i:=0 to UsedImplementationFilenames.Count-1 do
|
||||
@ -487,32 +257,22 @@ begin
|
||||
begin
|
||||
CurFileName:= UsedImplementationFilenames[i];
|
||||
break;
|
||||
end;//if
|
||||
end;//for
|
||||
end;//if
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
UsedImplementationFilenames.Free;
|
||||
UsedInterfaceFilenames.Free;
|
||||
end;//try-finally
|
||||
end;//if
|
||||
end;//if
|
||||
end;//if
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if Assigned(OnOpenFile) then OnOpenFile(Self,CurFilename,TheLine);
|
||||
end;//if
|
||||
end;
|
||||
|
||||
procedure TfrmToDo.actFilePrint(Sender: TObject);
|
||||
begin
|
||||
//showMessage('not implemented');
|
||||
end;
|
||||
|
||||
procedure TfrmToDo.actOptionsCfg(Sender: TObject);
|
||||
begin
|
||||
//showMessage('not implemented');
|
||||
end;
|
||||
end;
|
||||
|
||||
//Find the {$I filename} directive. If exists, call LoadFile()
|
||||
procedure TfrmToDo.ParseDirective(aDirective : String);
|
||||
procedure TfrmTodo.ParseDirective(aDirective : String);
|
||||
Var N : Integer;
|
||||
ParsingString : string;
|
||||
begin
|
||||
@ -529,7 +289,7 @@ begin
|
||||
end;
|
||||
|
||||
//Find in comment the ToDo message
|
||||
procedure TfrmToDo.ParseComment(const aFileName: string; const SComment, EComment: string;
|
||||
procedure TfrmTodo.ParseComment(const aFileName: string; const SComment, EComment: string;
|
||||
const TokenString: string; LineNumber: Integer);
|
||||
Var
|
||||
N,J : Integer;
|
||||
@ -602,7 +362,7 @@ end;
|
||||
//Load an FileName and find {#todox yyyyyy} where
|
||||
// x is the priority (0 by default)
|
||||
// yyyy it's the message one line only
|
||||
procedure TfrmToDo.LoadFile(const aFileName: string);
|
||||
procedure TfrmTodo.LoadFile(const aFileName: string);
|
||||
var
|
||||
Parser : TmwPasLex;
|
||||
EStream : TMemoryStream;
|
||||
@ -656,9 +416,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
{.$I ufrmtodo.lrs}
|
||||
{$i todolist.lrs}
|
||||
|
||||
end.
|
||||
|
||||
|
BIN
images/todo_goto.bmp
Normal file
BIN
images/todo_goto.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
BIN
images/todo_options.bmp
Normal file
BIN
images/todo_options.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
BIN
images/todo_print.bmp
Normal file
BIN
images/todo_print.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
BIN
images/todo_refresh.bmp
Normal file
BIN
images/todo_refresh.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
Loading…
Reference in New Issue
Block a user