disabled (conditionally) separating static line; improved borders
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -20,11 +20,24 @@
|
|||||||
|
|
||||||
#if wxUSE_LISTBOOK
|
#if wxUSE_LISTBOOK
|
||||||
|
|
||||||
|
// this can be defined to put a static line as separator between the list
|
||||||
|
// control and the page area; but I think it finally looks better without it so
|
||||||
|
// it is not enabled by default
|
||||||
|
//#define wxUSE_LINE_IN_LISTBOOK 1
|
||||||
|
|
||||||
|
#if !wxUSE_STATLINE
|
||||||
|
#undef wxUSE_LINE_IN_LISTBOOK
|
||||||
|
#define wxUSE_LINE_IN_LISTBOOK 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "wx/bookctrl.h"
|
#include "wx/bookctrl.h"
|
||||||
|
|
||||||
class WXDLLEXPORT wxListView;
|
class WXDLLEXPORT wxListView;
|
||||||
class WXDLLEXPORT wxListEvent;
|
class WXDLLEXPORT wxListEvent;
|
||||||
class WXDLLEXPORT wxStaticLine;;
|
|
||||||
|
#if wxUSE_LINE_IN_LISTBOOK
|
||||||
|
class WXDLLEXPORT wxStaticLine;
|
||||||
|
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// constants
|
// constants
|
||||||
@@ -117,8 +130,10 @@ private:
|
|||||||
// the list control we use for showing the pages index
|
// the list control we use for showing the pages index
|
||||||
wxListView *m_list;
|
wxListView *m_list;
|
||||||
|
|
||||||
|
#if wxUSE_LINE_IN_LISTBOOK
|
||||||
// the line separating it from the page area
|
// the line separating it from the page area
|
||||||
wxStaticLine *m_line;
|
wxStaticLine *m_line;
|
||||||
|
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||||
|
|
||||||
// the currently selected page or wxNOT_FOUND if none
|
// the currently selected page or wxNOT_FOUND if none
|
||||||
int m_selection;
|
int m_selection;
|
||||||
|
@@ -72,7 +72,9 @@ END_EVENT_TABLE()
|
|||||||
void wxListbook::Init()
|
void wxListbook::Init()
|
||||||
{
|
{
|
||||||
m_list = NULL;
|
m_list = NULL;
|
||||||
|
#if wxUSE_LINE_IN_LISTBOOK
|
||||||
m_line = NULL;
|
m_line = NULL;
|
||||||
|
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||||
m_selection = wxNOT_FOUND;
|
m_selection = wxNOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,6 +95,11 @@ wxListbook::Create(wxWindow *parent,
|
|||||||
#endif // __WXMAC__/!__WXMAC__
|
#endif // __WXMAC__/!__WXMAC__
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// no border for this control, it doesn't look nice together with
|
||||||
|
// wxListCtrl border
|
||||||
|
style &= ~wxBORDER_MASK;
|
||||||
|
style |= wxBORDER_NONE;
|
||||||
|
|
||||||
if ( !wxControl::Create(parent, id, pos, size, style,
|
if ( !wxControl::Create(parent, id, pos, size, style,
|
||||||
wxDefaultValidator, name) )
|
wxDefaultValidator, name) )
|
||||||
return false;
|
return false;
|
||||||
@@ -103,10 +110,11 @@ wxListbook::Create(wxWindow *parent,
|
|||||||
wxID_LISTBOOKLISTVIEW,
|
wxID_LISTBOOKLISTVIEW,
|
||||||
wxDefaultPosition,
|
wxDefaultPosition,
|
||||||
wxDefaultSize,
|
wxDefaultSize,
|
||||||
wxBORDER_NONE | wxLC_ICON | wxLC_SINGLE_SEL |
|
wxLC_ICON | wxLC_SINGLE_SEL |
|
||||||
(IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP)
|
(IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#if wxUSE_LINE_IN_LISTBOOK
|
||||||
m_line = new wxStaticLine
|
m_line = new wxStaticLine
|
||||||
(
|
(
|
||||||
this,
|
this,
|
||||||
@@ -115,6 +123,7 @@ wxListbook::Create(wxWindow *parent,
|
|||||||
wxDefaultSize,
|
wxDefaultSize,
|
||||||
IsVertical() ? wxLI_HORIZONTAL : wxLI_VERTICAL
|
IsVertical() ? wxLI_HORIZONTAL : wxLI_VERTICAL
|
||||||
);
|
);
|
||||||
|
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -212,6 +221,7 @@ void wxListbook::OnSize(wxSizeEvent& event)
|
|||||||
m_list->Move(posList.x, posList.y);
|
m_list->Move(posList.x, posList.y);
|
||||||
m_list->SetClientSize(sizeList.x, sizeList.y);
|
m_list->SetClientSize(sizeList.x, sizeList.y);
|
||||||
|
|
||||||
|
#if wxUSE_LINE_IN_LISTBOOK
|
||||||
if ( m_line )
|
if ( m_line )
|
||||||
{
|
{
|
||||||
wxRect rectLine(wxPoint(0, 0), sizeClient);
|
wxRect rectLine(wxPoint(0, 0), sizeClient);
|
||||||
@@ -241,6 +251,7 @@ void wxListbook::OnSize(wxSizeEvent& event)
|
|||||||
|
|
||||||
m_line->SetSize(rectLine);
|
m_line->SetSize(rectLine);
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||||
|
|
||||||
// we should always have some selection if possible
|
// we should always have some selection if possible
|
||||||
if ( m_selection == wxNOT_FOUND && GetPageCount() )
|
if ( m_selection == wxNOT_FOUND && GetPageCount() )
|
||||||
|
Reference in New Issue
Block a user