Difference between revisions of "WxSmith Timeline"

From Code::Blocks
 
(5 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;"
 
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;"
 
|- style="background: #ececec;"
 
|- style="background: #ececec;"
! style="width: 12em" | Task
+
! style="width: 15em" | Task
 
! Description
 
! Description
 
! style="width: 7em" | Estimated time
 
! style="width: 7em" | Estimated time
Line 44: Line 44:
 
! Add more tools
 
! Add more tools
 
| style="text-align: left;" | There are some tools which could be accessible from viasual editor:
 
| style="text-align: left;" | There are some tools which could be accessible from viasual editor:
* wxColourDialog (OK)
+
*[[Image:Chk.png]] wxColourDialog
* wxDirDialog (OK)
+
*[[Image:Chk.png]] wxDirDialog
* wxFileDialog (OK)
+
*[[Image:Chk.png]] wxFileDialog
* wxFindReplaceDialog
+
*[[Image:Nop.png]] wxFindReplaceDialog
* wxMultiChoiceDialog
+
*[[Image:Chk.png]] wxMultiChoiceDialog
* wxSingleChoiceDialog
+
*[[Image:Nop.png]] wxSingleChoiceDialog
* wxTextEntryDialog
+
*[[Image:Nop.png]] wxTextEntryDialog
* wxPasswordEntryDialog
+
*[[Image:Nop.png]] wxPasswordEntryDialog
* wxFontDialog
+
*[[Image:Nop.png]] wxFontDialog
* wxPageSetupDialog
+
*[[Image:Nop.png]] wxPageSetupDialog
* wxPringDialog
+
*[[Image:Nop.png]] wxPringDialog
* wxProgressDialog
+
*[[Image:Nop.png]] wxProgressDialog
* wxMessageDialog
+
*[[Image:Nop.png]] wxMessageDialog
* wxSymbolPickerDialog
+
*[[Image:Nop.png]] wxSymbolPickerDialog
* wxRichTextFormattingDialog
+
*[[Image:Nop.png]] wxRichTextFormattingDialog
* wxFTP
+
*[[Image:Nop.png]] wxFTP
* wxHTTP
+
*[[Image:Nop.png]] wxHTTP
* wxDialUpManager
+
*[[Image:Nop.png]] wxDialUpManager
* wxSocketClient (?)
+
*[[Image:Nop.png]] wxSocketClient (?)
 
| 1 week
 
| 1 week
 
| {{no}}
 
| {{no}}
Line 77: Line 77:
 
|-
 
|-
 
! Virtual-function events
 
! Virtual-function events
| style="text-align: left;" | Some items provide functinalities in derived classes only by calling virtual functions. Such functions could be threaded as some kind of events and vould be generated automatically by wxSmith
+
| style="text-align: left;" | Some items provide functinalities in derived classes only by calling virtual functions. Such functions could be threated as some kind of events and could be generated automatically by wxSmith (by automatically generating some derived class)
 
| 1 week
 
| 1 week
 +
| {{no}}
 +
|-
 +
! Include one resource in another
 +
| style="text-align: left;" | There could be some special item which would allow adding other resources (like wxPanels) into another ones. Curently it msut be done by making some tricks like changing "Class name" or by using custom item. wxSmith could really easily integrate with such resources. The only problem I see here is that there's changing list of constructor arguments which can be passed into other resources and wxSmith won't be able to guess values for custom arguments - but this can be implemented similarily to generation of custom resources - by providing some kond of script-code where all arguments would be provided by the user
 +
| 3 days
 +
| {{no}}
 +
|-
 +
! Using //{ and //} comments to allow folding of wxSmith code
 +
| style="text-align: left;" | In resouce wizard there could be an option to automatically add //{ and //} comments which notify wxScintilla that the block should be foldable. One of following solutions could be used here:
 +
 +
Firts solution:
 +
 +
//{//(*CodeName
 +
...
 +
//*)//}
 +
 +
It will require changing detection of block folding
 +
 +
Second solution:
 +
 +
//{ wxSmith-generated code
 +
//(*CodeName
 +
..
 +
//*)
 +
//}
 +
 +
Third solution:
 +
 +
//{ wxSmith-generated code
 +
//(*CodeName
 +
..
 +
//*)//}
 +
 +
| 1 hour
 
| {{no}}
 
| {{no}}
 
|-
 
|-
 
|}
 
|}

Latest revision as of 11:49, 21 January 2008

Timeline for wxSmith:

Task Description Estimated time Finished
Events in wiki Add description of events system into Wiki:
  • Choose item which generate events (few different)
  • Add item's source into wxSmithContribItems
  • Add class registering item in wxSmith
  • add events and describe this process in Wiki
1 day Yes
Extra init code Add extra initialization code added right after item is built

Warning: this may mess the code base

2 hours Yes
Insert by mouse Allow adding items to resource by pointing with mouse 1 day Yes
Grid Add grid for containers without sizers. This will require:
  • Generating panel-derived widget displaying grid
  • Modifying mouse routines in editor
  • Adding new elements into configuration
  • Remember that grid also apply when resizing container using grid
1 day Yes
Adopt new header system New header generation system is now capable of generating forward declarations and list of headers splitted for pch-included and non-included. The option whether to use pch filter and/or forward declarations should be available while generating new resource 1 day Yes
Add more tools There are some tools which could be accessible from viasual editor:
  • Chk.png wxColourDialog
  • Chk.png wxDirDialog
  • Chk.png wxFileDialog
  • Nop.png wxFindReplaceDialog
  • Chk.png wxMultiChoiceDialog
  • Nop.png wxSingleChoiceDialog
  • Nop.png wxTextEntryDialog
  • Nop.png wxPasswordEntryDialog
  • Nop.png wxFontDialog
  • Nop.png wxPageSetupDialog
  • Nop.png wxPringDialog
  • Nop.png wxProgressDialog
  • Nop.png wxMessageDialog
  • Nop.png wxSymbolPickerDialog
  • Nop.png wxRichTextFormattingDialog
  • Nop.png wxFTP
  • Nop.png wxHTTP
  • Nop.png wxDialUpManager
  • Nop.png wxSocketClient (?)
1 week No
Fix dragbox bug Sometimes on linux when resource is more complicated, drag boxes are placed in invalid position. It looks like the positions are calculated before main panel (the one which not yet belongs to the resource or the main resource's panel) is shifted using it's sizer. 1 day No
Add ability to fetch buttons from wxStdDialogButtonSizer It should be quite easy to fetch buttons from this sizer, it may be done using FindWindow when using XRC (by using OnBuildXRCFetchingCode) and simply by storing pointers when using source mode (just by assigning pointers when generating 1 day No
Virtual-function events Some items provide functinalities in derived classes only by calling virtual functions. Such functions could be threated as some kind of events and could be generated automatically by wxSmith (by automatically generating some derived class) 1 week No
Include one resource in another There could be some special item which would allow adding other resources (like wxPanels) into another ones. Curently it msut be done by making some tricks like changing "Class name" or by using custom item. wxSmith could really easily integrate with such resources. The only problem I see here is that there's changing list of constructor arguments which can be passed into other resources and wxSmith won't be able to guess values for custom arguments - but this can be implemented similarily to generation of custom resources - by providing some kond of script-code where all arguments would be provided by the user 3 days No
Using //{ and //} comments to allow folding of wxSmith code In resouce wizard there could be an option to automatically add //{ and //} comments which notify wxScintilla that the block should be foldable. One of following solutions could be used here:

Firts solution:

//{//(*CodeName
...
//*)//}

It will require changing detection of block folding

Second solution:

//{ wxSmith-generated code
//(*CodeName
..
//*)
//}

Third solution:

//{ wxSmith-generated code
//(*CodeName
..
//*)//}
1 hour No