#endif
//-----------------------------------------------------------------------------
-// Standard wxWindows headers
+// Standard wxWidgets headers
//-----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#endif
// For all others, include the necessary headers (this file is usually all you
-// need because it includes almost all "standard" wxWindows headers)
+// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
// Internal constants
//-----------------------------------------------------------------------------
-// Popup menu (PU) item control IDs. In this example, they aren't hooked up
+// Popup menu (PU) item control IDs. In this example, they aren't hooked up
// to any functions. Normally you would use these IDs in your event table, so
-// that if one of these menu items is clicked, then a certain function is
+// that if one of these menu items is clicked, then a certain function is
// called.
enum {
- PU_ADD_RECORD = wxID_HIGHEST + 1,
+ PU_ADD_RECORD = wxID_HIGHEST + 1,
PU_EDIT_RECORD,
- PU_DELETE_RECORD
+ PU_DELETE_RECORD
};
// Columns of the listctrl (the leftmost one starts at 0, and so on).
-// Allows easier code maintenance if want to add/rearrangement of listctrl's
+// Allows easier code maintenance if want to add/rearrangement of listctrl's
// columns.
enum {
RECORD_COLUMN = 0,
};
//-----------------------------------------------------------------------------
-// wxWindows macro: implement dynamic class
+// wxWidgets macro: implement dynamic class
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS( MyResizableListCtrl, wxListCtrl )
// Event table: connect the events to the handler functions to process them
//-----------------------------------------------------------------------------
-BEGIN_EVENT_TABLE( MyResizableListCtrl, wxListCtrl )
- // Something to do when right mouse down
- EVT_RIGHT_DOWN( MyResizableListCtrl::ContextSensitiveMenu )
+BEGIN_EVENT_TABLE( MyResizableListCtrl, wxListCtrl )
+ // Something to do when right mouse down
+ EVT_RIGHT_DOWN( MyResizableListCtrl::ContextSensitiveMenu )
// Something to do when resized
EVT_SIZE( MyResizableListCtrl::OnSize )
END_EVENT_TABLE()
const wxString& name )
: wxListCtrl( parent, id, pos, size, style, validator, name )
{
-
- // This listctrl needs to insert its columns in the constructor, since
- // as soon as the listctrl is built, it is resized and grafted onto an
- // "unknown" XRC placeholder. This induces an OnSize() event, calling the
- // overrriden OnSize function for this class, which needs to have 3
+
+ // This listctrl needs to insert its columns in the constructor, since
+ // as soon as the listctrl is built, it is resized and grafted onto an
+ // "unknown" XRC placeholder. This induces an OnSize() event, calling the
+ // overrriden OnSize function for this class, which needs to have 3
// columns to resize (else an assert on WXGTK debug build).
InsertColumn( RECORD_COLUMN, _("Record"), wxLIST_FORMAT_LEFT, 140);
InsertColumn( ACTION_COLUMN, _("Action"), wxLIST_FORMAT_LEFT, 70);
- InsertColumn( PRIORITY_COLUMN, _("Priority"), wxLIST_FORMAT_LEFT, 70 );
-}
-
-
-MyResizableListCtrl::~MyResizableListCtrl()
-{
+ InsertColumn( PRIORITY_COLUMN, _("Priority"), wxLIST_FORMAT_LEFT, 70 );
}
a_menu.Append( PU_ADD_RECORD, _( "Add a new record...") );
a_menu.Append( PU_EDIT_RECORD, _( "Edit selected record..." ) );
a_menu.Append( PU_DELETE_RECORD, _( "Delete selected record" ) );
-
- // If no listctrl rows selected, then disable the menu items that
+
+ // If no listctrl rows selected, then disable the menu items that
// require selection
if ( GetSelectedItemCount() == 0 ) {
- a_menu.Enable( PU_EDIT_RECORD, FALSE );
- a_menu.Enable( PU_DELETE_RECORD, FALSE );
+ a_menu.Enable( PU_EDIT_RECORD, false );
+ a_menu.Enable( PU_DELETE_RECORD, false );
}
- // Show the popup menu (wxWindow::PopupMenu ), at the x,y position
- // of the click event
+ // Show the popup menu (wxWindow::PopupMenu ), at the x,y position
+ // of the click event
PopupMenu( &a_menu, event.GetPosition() );
}
{
// Call our custom width setting function.
SetColumnWidths();
- // REQURED event.Skip() call to allow this event to propagate
- // upwards so others can do what they need to do in response to
+ // REQURED event.Skip() call to allow this event to propagate
+ // upwards so others can do what they need to do in response to
// this size event.
event.Skip();
}
void MyResizableListCtrl::SetColumnWidths()
-{
+{
// Get width of entire listctrl
- int leftmostColumnWidth = GetSize().x;
-
- // Subtract width of other columns, scrollbar, and some padding
+ int leftmostColumnWidth = GetSize().x;
+
+ // Subtract width of other columns, scrollbar, and some padding
leftmostColumnWidth -= GetColumnWidth( ACTION_COLUMN );
leftmostColumnWidth -= GetColumnWidth( PRIORITY_COLUMN );
- leftmostColumnWidth -= wxSystemSettings::GetSystemMetric( wxSYS_VSCROLL_X );
+ leftmostColumnWidth -= wxSystemSettings::GetSystemMetric( wxSYS_VSCROLL_X );
leftmostColumnWidth -= 5;
-
+
// Set the column width to the new value.
- SetColumnWidth( RECORD_COLUMN, leftmostColumnWidth );
-
- // This is just a debug message in case you want to watch the
+ SetColumnWidth( RECORD_COLUMN, leftmostColumnWidth );
+
+ // This is just a debug message in case you want to watch the
// events scroll by as you resize.
wxLogDebug( wxT("Successfully set column widths") );
}