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:
Vadim Zeitlin 2003-09-14 19:37:35 +00:00
parent a328684392
commit ef0120c1bb
2 changed files with 28 additions and 2 deletions

View File

@ -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;

View File

@ -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() )