X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8d34bf5cc90cf01a05b132c40b0e2f4c0d2b39e5..c681bd248f610c0dafecf6a6b413d889ef700eeb:/src/msw/notebook.cpp diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index c5c3aff114..b98ac069e8 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -117,23 +117,56 @@ BEGIN_EVENT_TABLE(wxNotebook, wxControl) END_EVENT_TABLE() #if wxUSE_EXTENDED_RTTI +WX_DEFINE_FLAGS( wxNotebookStyle ) + +WX_BEGIN_FLAGS( wxNotebookStyle ) + // new style border flags, we put them first to + // use them for streaming out + WX_FLAGS_MEMBER(wxBORDER_SIMPLE) + WX_FLAGS_MEMBER(wxBORDER_SUNKEN) + WX_FLAGS_MEMBER(wxBORDER_DOUBLE) + WX_FLAGS_MEMBER(wxBORDER_RAISED) + WX_FLAGS_MEMBER(wxBORDER_STATIC) + WX_FLAGS_MEMBER(wxBORDER_NONE) + + // old style border flags + WX_FLAGS_MEMBER(wxSIMPLE_BORDER) + WX_FLAGS_MEMBER(wxSUNKEN_BORDER) + WX_FLAGS_MEMBER(wxDOUBLE_BORDER) + WX_FLAGS_MEMBER(wxRAISED_BORDER) + WX_FLAGS_MEMBER(wxSTATIC_BORDER) + WX_FLAGS_MEMBER(wxNO_BORDER) + + // standard window styles + WX_FLAGS_MEMBER(wxTAB_TRAVERSAL) + WX_FLAGS_MEMBER(wxCLIP_CHILDREN) + WX_FLAGS_MEMBER(wxTRANSPARENT_WINDOW) + WX_FLAGS_MEMBER(wxWANTS_CHARS) + WX_FLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE) + WX_FLAGS_MEMBER(wxALWAYS_SHOW_SB ) + WX_FLAGS_MEMBER(wxVSCROLL) + WX_FLAGS_MEMBER(wxHSCROLL) + + WX_FLAGS_MEMBER(wxNB_FIXEDWIDTH) + WX_FLAGS_MEMBER(wxNB_LEFT) + WX_FLAGS_MEMBER(wxNB_RIGHT) + WX_FLAGS_MEMBER(wxNB_BOTTOM) + +WX_END_FLAGS( wxNotebookStyle ) IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebook, wxControl,"wx/notebook.h") IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebookPageInfo, wxObject , "wx/notebook.h" ) -template<> const wxTypeInfo* wxGetTypeInfo( wxNotebookPageInfoList * ) -{ - static wxCollectionTypeInfo s_typeInfo( (wxTypeInfo*) wxGetTypeInfo( (wxNotebookPageInfo **) NULL) ) ; - return &s_typeInfo ; -} +WX_COLLECTION_TYPE_INFO( wxNotebookPageInfo * , wxNotebookPageInfoList ) ; template<> void wxCollectionToVariantArray( wxNotebookPageInfoList const &theList, wxxVariantArray &value) { - wxListCollectionToVariantArray( theList , value ) ; + wxListCollectionToVariantArray( theList , value ) ; } WX_BEGIN_PROPERTIES_TABLE(wxNotebook) - WX_PROPERTY_COLLECTION( PageInfos , wxNotebookPageInfoList , wxNotebookPageInfo* , AddPageInfo , GetPageInfos ) + WX_PROPERTY_COLLECTION( PageInfos , wxNotebookPageInfoList , wxNotebookPageInfo* , AddPageInfo , GetPageInfos , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) + WX_PROPERTY_FLAGS( WindowStyle , wxNotebookStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style /* notebookpage object @@ -148,14 +181,14 @@ WX_END_PROPERTIES_TABLE() WX_BEGIN_HANDLERS_TABLE(wxNotebook) WX_END_HANDLERS_TABLE() -WX_CONSTRUCTOR_4( wxNotebook , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) +WX_CONSTRUCTOR_5( wxNotebook , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle) WX_BEGIN_PROPERTIES_TABLE(wxNotebookPageInfo) - WX_READONLY_PROPERTY( Page , wxNotebookPage* , GetPage , ) - WX_READONLY_PROPERTY( Text , wxString , GetText , wxEmptyString ) - WX_READONLY_PROPERTY( Selected , bool , GetSelected , false ) - WX_READONLY_PROPERTY( ImageId , int , GetImageId , -1 ) + WX_READONLY_PROPERTY( Page , wxNotebookPage* , GetPage , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) + WX_READONLY_PROPERTY( Text , wxString , GetText , wxString() , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) + WX_READONLY_PROPERTY( Selected , bool , GetSelected , false, 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) + WX_READONLY_PROPERTY( ImageId , int , GetImageId , -1 , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) WX_END_PROPERTIES_TABLE() WX_BEGIN_HANDLERS_TABLE(wxNotebookPageInfo) @@ -181,10 +214,10 @@ const wxNotebookPageInfoList& wxNotebook::GetPageInfos() const { wxNotebookPageInfoList* list = const_cast< wxNotebookPageInfoList* >( &m_pageInfos ) ; WX_CLEAR_LIST( wxNotebookPageInfoList , *list ) ; - for( int i = 0 ; i < GetPageCount() ; ++i ) + for( size_t i = 0 ; i < GetPageCount() ; ++i ) { wxNotebookPageInfo *info = new wxNotebookPageInfo() ; - info->Create( const_cast(this)->GetPage(i) , GetPageText(i) , GetSelection() == i , GetPageImage(i) ) ; + info->Create( const_cast(this)->GetPage(i) , GetPageText(i) , GetSelection() == int(i) , GetPageImage(i) ) ; list->Append( info ) ; } return m_pageInfos ; @@ -300,7 +333,7 @@ int wxNotebook::SetSelection(size_t nPage) { wxCHECK_MSG( IS_VALID_PAGE(nPage), -1, wxT("notebook page out of range") ); - if ( nPage != m_nSelection ) + if ( int(nPage) != m_nSelection ) { wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId); event.SetSelection(nPage); @@ -473,12 +506,12 @@ wxNotebookPage *wxNotebook::DoRemovePage(size_t nPage) { // change the selected page if it was deleted or became invalid int selNew; - if ( m_nSelection == GetPageCount() ) + if ( m_nSelection == int(GetPageCount()) ) { // last page deleted, make the new last page the new selection selNew = m_nSelection - 1; } - else if ( nPage <= m_nSelection ) + else if ( int(nPage) <= m_nSelection ) { // we must show another page, even if it has the same index selNew = m_nSelection; @@ -619,7 +652,7 @@ bool wxNotebook::InsertPage(size_t nPage, // if the inserted page is before the selected one, we must update the // index of the selected page - if ( nPage <= m_nSelection ) + if ( int(nPage) <= m_nSelection ) { // one extra page added m_nSelection++;