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:
parent
a328684392
commit
ef0120c1bb
@ -20,11 +20,24 @@
|
||||
|
||||
#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"
|
||||
|
||||
class WXDLLEXPORT wxListView;
|
||||
class WXDLLEXPORT wxListEvent;
|
||||
class WXDLLEXPORT wxStaticLine;;
|
||||
|
||||
#if wxUSE_LINE_IN_LISTBOOK
|
||||
class WXDLLEXPORT wxStaticLine;
|
||||
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
@ -117,8 +130,10 @@ private:
|
||||
// the list control we use for showing the pages index
|
||||
wxListView *m_list;
|
||||
|
||||
#if wxUSE_LINE_IN_LISTBOOK
|
||||
// the line separating it from the page area
|
||||
wxStaticLine *m_line;
|
||||
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||
|
||||
// the currently selected page or wxNOT_FOUND if none
|
||||
int m_selection;
|
||||
|
@ -72,7 +72,9 @@ END_EVENT_TABLE()
|
||||
void wxListbook::Init()
|
||||
{
|
||||
m_list = NULL;
|
||||
#if wxUSE_LINE_IN_LISTBOOK
|
||||
m_line = NULL;
|
||||
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||
m_selection = wxNOT_FOUND;
|
||||
}
|
||||
|
||||
@ -93,6 +95,11 @@ wxListbook::Create(wxWindow *parent,
|
||||
#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,
|
||||
wxDefaultValidator, name) )
|
||||
return false;
|
||||
@ -103,10 +110,11 @@ wxListbook::Create(wxWindow *parent,
|
||||
wxID_LISTBOOKLISTVIEW,
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize,
|
||||
wxBORDER_NONE | wxLC_ICON | wxLC_SINGLE_SEL |
|
||||
wxLC_ICON | wxLC_SINGLE_SEL |
|
||||
(IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP)
|
||||
);
|
||||
|
||||
#if wxUSE_LINE_IN_LISTBOOK
|
||||
m_line = new wxStaticLine
|
||||
(
|
||||
this,
|
||||
@ -115,6 +123,7 @@ wxListbook::Create(wxWindow *parent,
|
||||
wxDefaultSize,
|
||||
IsVertical() ? wxLI_HORIZONTAL : wxLI_VERTICAL
|
||||
);
|
||||
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -212,6 +221,7 @@ void wxListbook::OnSize(wxSizeEvent& event)
|
||||
m_list->Move(posList.x, posList.y);
|
||||
m_list->SetClientSize(sizeList.x, sizeList.y);
|
||||
|
||||
#if wxUSE_LINE_IN_LISTBOOK
|
||||
if ( m_line )
|
||||
{
|
||||
wxRect rectLine(wxPoint(0, 0), sizeClient);
|
||||
@ -241,6 +251,7 @@ void wxListbook::OnSize(wxSizeEvent& event)
|
||||
|
||||
m_line->SetSize(rectLine);
|
||||
}
|
||||
#endif // wxUSE_LINE_IN_LISTBOOK
|
||||
|
||||
// we should always have some selection if possible
|
||||
if ( m_selection == wxNOT_FOUND && GetPageCount() )
|
||||
|
Loading…
Reference in New Issue
Block a user