TaskList Manager - wxWidget GUI - WIP

BlitzMax Modules Forums/Brucey's Modules/TaskList Manager - wxWidget GUI - WIP

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

This works but it doesn't look elegant.
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