This works but it doesn't look elegant.
Any suggestions?
(see the code in between the ***********'s)
Any suggestions?
(see the code in between the ***********'s)
' ' BlitzMax code generated with wxCodeGen v0.91 : 16 Feb 2008 10:16:57 ' ' ' PLEASE DO "NOT" EDIT THIS FILE! ' SuperStrict Framework wx.wxApp Import wx.wxFrame Import wx.wxListBox Import wx.wxListCtrl Import wx.wxPanel Import wx.wxRadioBox Import wx.wxStaticBitmap Import wx.wxStatusBar Import wx.wxTextCtrl Import wx.wxWindow Import BaH.DBODBC Import brl.filesystem Import brl.system Include "DatabaseTypes.bmx" New MyApp.run() Type MyApp Extends wxApp Method OnInit:Int() wxInitAllImageHandlers() wxImage.AddHandler( New wxXPMHandler ) ' for Mac/Win32 (it is default on Linux) Local frame:MyFrameBase = MyFrameBase(New MyFrameBase.Create(, , "C2D TaskList Manager v0.02")) frame.show() SetTopWindow(frame) Return True End Method End Type Type MyFrameBase Extends wxFrame Field m_panel:wxPanel Field m_bitmapLeft:wxStaticBitmap Field m_listBoxSelectorType:wxListBox Field m_listCtrlDue:wxListCtrl Field m_radioBoxDue:wxRadioBox Field m_bitmapRight:wxStaticBitmap Field m_listBoxSelector:wxListBox Field m_listCtrlMainTask:wxListCtrl Field m_listCtrlSubTask:wxListCtrl Field m_textCtrlSubTaskNotes:wxTextCtrl Field m_radioBoxShowTasks:wxRadioBox Field m_radioBoxShowMainTasks:wxRadioBox Field m_statusBar:wxStatusBar Field iSelectorType:Int = 0 Method Create:MyFrameBase(parent:wxWindow = Null,id:Int = wxID_ANY, title:String = "C2D Task List Manager", x:Int = -1, y:Int = -1, w:Int = 860, h:Int = 600, style:Int = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL) Return MyFrameBase(Super.Create(parent, id, title, x, y, w, h, style)) End Method Method OnInit() ' SetExtraStyle(wxFRAME_EX_CONTEXTHELP) SetMinSize(860,600) SetMaxSize(1024,768) Local bSizerFrame:wxBoxSizer bSizerFrame = New wxBoxSizer.Create(wxVERTICAL) bSizerFrame.SetMinSize(800,600) m_panel = New wxPanel.Create(Self, wxID_ANY,,,,, wxTAB_TRAVERSAL) Local bSizerPanel:wxBoxSizer bSizerPanel = New wxBoxSizer.Create(wxVERTICAL) Local bSizeTopPortion:wxBoxSizer bSizeTopPortion = New wxBoxSizer.Create(wxHORIZONTAL) ' m_bitmapLeft = New wxStaticBitmap.Create(m_panel, wxID_ANY, wxBitmap.CreateFromFile("C:/C2D/BlitzBasic/C2DTaskListManager/Images/Dragon-Small.png", wxBITMAP_TYPE_ANY)) ' bSizeTopPortion.Add(m_bitmapLeft, 0, wxALL, 5) ' ***************************************************** Local tblSelectorType:TSelectorType = New TSelectorType tblSelectorType.Create() Local s:String[tblSelectorType.SelectorTypeList.count()] Local i:Int = 0 For Local all:TSelectorType = EachIn tblSelectorType.SelectorTypeList DebugLog all.SelectorTypeID DebugLog all.SelectorTypeName s[i] = all.SelectorTypeName DebugLog "i = " + i + " : S[" + i + "] = "+ s[i] i:+1 Next For Local ss:String = EachIn s DebugLog "S = : " + ss Next Local m_listBoxSelectorTypeChoices:String[] = s '****************************************************** ' Local m_listBoxSelectorTypeChoices:String[] = [ "Companies", "Investigations", "Projects" ] m_listBoxSelectorType = New wxListBox.Create(m_panel, wxID_ANY, m_listBoxSelectorTypeChoices,,,,, wxLB_HSCROLL|wxLB_SINGLE|wxLB_SORT) bSizeTopPortion.Add(m_listBoxSelectorType, 0, wxALL, 5) m_listCtrlDue = New wxListCtrl.Create(m_panel, wxID_ANY,,,,, wxLC_ICON) bSizeTopPortion.Add(m_listCtrlDue, 1, wxALL|wxEXPAND, 5) Local m_radioBoxDueChoices:String[] = [ "Over Due", "Due Today", "Due in Next 7 Days" ] m_radioBoxDue = New wxRadioBox.Create(m_panel, wxID_ANY, "Due Date Options",,,,, m_radioBoxDueChoices, 1, wxRA_SPECIFY_COLS) bSizeTopPortion.Add(m_radioBoxDue, 0, wxALL, 5) ' m_bitmapRight = New wxStaticBitmap.Create(m_panel, wxID_ANY, wxBitmap.CreateFromFile("C:/C2D/BlitzBasic/C2DTaskListManager/Images/Dragon-Small.png", wxBITMAP_TYPE_ANY)) ' bSizeTopPortion.Add(m_bitmapRight, 0, wxALL, 5) bSizerPanel.AddSizer(bSizeTopPortion, 0, wxEXPAND, 5) Local bSizerMiddlePortion:wxBoxSizer bSizerMiddlePortion = New wxBoxSizer.Create(wxHORIZONTAL) m_listBoxSelector = New wxListBox.Create(m_panel, wxID_ANY, Null) bSizerMiddlePortion.Add(m_listBoxSelector, 1, wxALL|wxEXPAND, 5) Local bSizerTaskLists:wxBoxSizer bSizerTaskLists = New wxBoxSizer.Create(wxVERTICAL) m_listCtrlMainTask = New wxListCtrl.Create(m_panel, wxID_ANY,,,,, wxLC_ICON) bSizerTaskLists.Add(m_listCtrlMainTask, 2, wxALL|wxEXPAND, 5) m_listCtrlSubTask = New wxListCtrl.Create(m_panel, wxID_ANY,,,,, wxLC_ICON) bSizerTaskLists.Add(m_listCtrlSubTask, 3, wxALL|wxEXPAND, 5) m_textCtrlSubTaskNotes = New wxTextCtrl.Create(m_panel, wxID_ANY, "",,,,, wxTE_BESTWRAP|wxTE_LEFT|wxTE_MULTILINE|wxTE_NOHIDESEL) m_textCtrlSubTaskNotes.SetMaxLength(1000) bSizerTaskLists.Add(m_textCtrlSubTaskNotes, 1, wxALL|wxEXPAND, 5) bSizerMiddlePortion.AddSizer(bSizerTaskLists, 3, wxEXPAND, 5) bSizerPanel.AddSizer(bSizerMiddlePortion, 1, wxEXPAND, 5) Local bSizerBottomPortion:wxBoxSizer bSizerBottomPortion = New wxBoxSizer.Create(wxHORIZONTAL) Local m_radioBoxShowTasksChoices:String[] = [ "Show My Tasks", "Show My Depts Tasks", "Show ALL Tasks" ] m_radioBoxShowTasks = New wxRadioBox.Create(m_panel, wxID_ANY, "Show Team Member Main Tasks",,,,, m_radioBoxShowTasksChoices, 1, wxRA_SPECIFY_ROWS) bSizerBottomPortion.Add(m_radioBoxShowTasks, 0, wxALL, 5) Local m_radioBoxShowMainTasksChoices:String[] = [ "Active Tasks", "Completed Tasks", "Cancelled Tasks", "ALL Tasks" ] m_radioBoxShowMainTasks = New wxRadioBox.Create(m_panel, wxID_ANY, "Filter Main Tasks",,,,, m_radioBoxShowMainTasksChoices, 1, wxRA_SPECIFY_ROWS) bSizerBottomPortion.Add(m_radioBoxShowMainTasks, 0, wxALL, 5) bSizerPanel.AddSizer(bSizerBottomPortion, 0, wxEXPAND, 5) m_panel.SetSizer(bSizerPanel) m_panel.Layout() bSizerFrame.Add(m_panel, 1, wxALL|wxEXPAND, 5) m_statusBar = Self.CreateStatusBar(3, 0|wxST_SIZEGRIP, wxID_ANY) SetSizer(bSizerFrame) Layout() Center(wxBOTH) m_listBoxSelectorType.ConnectAny(wxEVT_COMMAND_LISTBOX_SELECTED, _SelectoTyperClicked, Null, Self) m_listBoxSelectorType.ConnectAny(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, _EditSelectorType, Null, Self) m_listCtrlDue.ConnectAny(wxEVT_COMMAND_LIST_COL_CLICK, _DueListSort, Null, Self) m_listCtrlDue.ConnectAny(wxEVT_COMMAND_LIST_DELETE_ITEM, _DueItemDeleted, Null, Self) m_listCtrlDue.ConnectAny(wxEVT_COMMAND_LIST_ITEM_SELECTED, _DueItemSelected, Null, Self) m_radioBoxDue.ConnectAny(wxEVT_COMMAND_RADIOBOX_SELECTED, _DueDateClicked, Null, Self) m_listBoxSelector.ConnectAny(wxEVT_COMMAND_LISTBOX_SELECTED, _SelectorClicked, Null, Self) m_listBoxSelector.ConnectAny(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, _EditSelector, Null, Self) m_listCtrlMainTask.ConnectAny(wxEVT_COMMAND_LIST_COL_CLICK, _MainTaskSort, Null, Self) m_listCtrlMainTask.ConnectAny(wxEVT_COMMAND_LIST_DELETE_ITEM, _MainTaskDeleted, Null, Self) m_listCtrlMainTask.ConnectAny(wxEVT_COMMAND_LIST_ITEM_SELECTED, _MainTaskSelected, Null, Self) m_listCtrlSubTask.ConnectAny(wxEVT_COMMAND_LIST_COL_CLICK, _SubTaskSort, Null, Self) m_listCtrlSubTask.ConnectAny(wxEVT_COMMAND_LIST_DELETE_ITEM, _SubTaskDeleted, Null, Self) m_listCtrlSubTask.ConnectAny(wxEVT_COMMAND_LIST_ITEM_SELECTED, _SubTaskHighlighted, Null, Self) m_radioBoxShowTasks.ConnectAny(wxEVT_COMMAND_RADIOBOX_SELECTED, _TMTasksClicked, Null, Self) m_radioBoxShowMainTasks.ConnectAny(wxEVT_COMMAND_RADIOBOX_SELECTED, _FilterMainTasksClicked, Null, Self) End Method Function _SelectoTyperClicked(event:wxEvent) MyFrameBase(event.sink).SelectoTyperClicked(wxCommandEvent(event)) End Function Method SelectoTyperClicked(event:wxCommandEvent) DebugLog "Please override MyFrame.SelectoTyperClicked()" event.Skip() End Method Function _EditSelectorType(event:wxEvent) MyFrameBase(event.sink).EditSelectorType(wxCommandEvent(event)) End Function Method EditSelectorType(event:wxCommandEvent) DebugLog "Please override MyFrame.EditSelectorType()" event.Skip() End Method Function _DueListSort(event:wxEvent) MyFrameBase(event.sink).DueListSort(wxListEvent(event)) End Function Method DueListSort(event:wxListEvent) DebugLog "Please override MyFrame.DueListSort()" event.Skip() End Method Function _DueItemDeleted(event:wxEvent) MyFrameBase(event.sink).DueItemDeleted(wxListEvent(event)) End Function Method DueItemDeleted(event:wxListEvent) DebugLog "Please override MyFrame.DueItemDeleted()" event.Skip() End Method Function _DueItemSelected(event:wxEvent) MyFrameBase(event.sink).DueItemSelected(wxListEvent(event)) End Function Method DueItemSelected(event:wxListEvent) DebugLog "Please override MyFrame.DueItemSelected()" event.Skip() End Method Function _DueDateClicked(event:wxEvent) MyFrameBase(event.sink).DueDateClicked(wxCommandEvent(event)) End Function Method DueDateClicked(event:wxCommandEvent) DebugLog "Please override MyFrame.DueDateClicked()" event.Skip() End Method Function _SelectorClicked(event:wxEvent) MyFrameBase(event.sink).SelectorClicked(wxCommandEvent(event)) End Function Method SelectorClicked(event:wxCommandEvent) DebugLog "Please override MyFrame.SelectorClicked()" event.Skip() End Method Function _EditSelector(event:wxEvent) MyFrameBase(event.sink).EditSelector(wxCommandEvent(event)) End Function Method EditSelector(event:wxCommandEvent) DebugLog "Please override MyFrame.EditSelector()" event.Skip() End Method Function _MainTaskSort(event:wxEvent) MyFrameBase(event.sink).MainTaskSort(wxListEvent(event)) End Function Method MainTaskSort(event:wxListEvent) DebugLog "Please override MyFrame.MainTaskSort()" event.Skip() End Method Function _MainTaskDeleted(event:wxEvent) MyFrameBase(event.sink).MainTaskDeleted(wxListEvent(event)) End Function Method MainTaskDeleted(event:wxListEvent) DebugLog "Please override MyFrame.MainTaskDeleted()" event.Skip() End Method Function _MainTaskSelected(event:wxEvent) MyFrameBase(event.sink).MainTaskSelected(wxListEvent(event)) End Function Method MainTaskSelected(event:wxListEvent) DebugLog "Please override MyFrame.MainTaskSelected()" event.Skip() End Method Function _SubTaskSort(event:wxEvent) MyFrameBase(event.sink).SubTaskSort(wxListEvent(event)) End Function Method SubTaskSort(event:wxListEvent) DebugLog "Please override MyFrame.SubTaskSort()" event.Skip() End Method Function _SubTaskDeleted(event:wxEvent) MyFrameBase(event.sink).SubTaskDeleted(wxListEvent(event)) End Function Method SubTaskDeleted(event:wxListEvent) DebugLog "Please override MyFrame.SubTaskDeleted()" event.Skip() End Method Function _SubTaskHighlighted(event:wxEvent) MyFrameBase(event.sink).SubTaskHighlighted(wxListEvent(event)) End Function Method SubTaskHighlighted(event:wxListEvent) DebugLog "Please override MyFrame.SubTaskHighlighted()" event.Skip() End Method Function _TMTasksClicked(event:wxEvent) MyFrameBase(event.sink).TMTasksClicked(wxCommandEvent(event)) End Function Method TMTasksClicked(event:wxCommandEvent) DebugLog "Please override MyFrame.TMTasksClicked()" event.Skip() End Method Function _FilterMainTasksClicked(event:wxEvent) MyFrameBase(event.sink).FilterMainTasksClicked(wxCommandEvent(event)) End Function Method FilterMainTasksClicked(event:wxCommandEvent) DebugLog "Please override MyFrame.FilterMainTasksClicked()" event.Skip() End Method End Type