notebook.h

Go to the documentation of this file.
00001 
00007 /*
00008     This library is free software; you can redistribute it and/or
00009     modify it under the terms of the GNU Lesser General Public
00010     License as published by the Free Software Foundation; either
00011     version 2.1 of the License, or (at your option) any later version.
00012 
00013     This library is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016     Lesser General Public License for more details.
00017 
00018     You should have received a copy of the GNU Lesser General Public
00019     License along with this library; if not, write to the Free Software
00020     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00021 
00022     Copyright (C) 2005 Thomas Steinacher
00023     http://www.eggdrop.ch/
00024     tom (at) eggdrop [dot] ch
00025 */
00026 
00027 #ifndef OMGUI_COCOA_NOTEBOOK_H
00028 #define OMGUI_COCOA_NOTEBOOK_H
00029 
00030 #include <omgui/cocoa/panel.h>
00031 #include <omgui/common/notebook.h>
00032 #include <omgui/notebook.h>
00033 
00034 namespace omgui {
00035     namespace cocoa {
00036 
00037 class Notebook : public virtual omgui::cocoa::Panel, public virtual omgui::common::Notebook
00038 {
00039 public:
00040     Notebook(omgui::Notebook *wrapper = 0);
00041 
00042     void create(const omgui::initializer::NotebookData &params);
00043 
00044     void set_rect(const omgui::Rect&);
00045 
00046     void append_page(NotebookPage page, const string &name);
00047     void insert_page(int where, NotebookPage page, const string &name);
00048     NotebookPage remove_page(NotebookPage page);
00049     NotebookPage get_selected_page() const;
00050     bool set_selected_page(NotebookPage page);
00051     void set_page_name(NotebookPage page, const string &name);
00052     string get_page_name(NotebookPage page) const;
00053 
00054     int get_page_index(NotebookPage page) const;
00055     NotebookPage get_page(int index) const;
00056 
00057     bool select_next_page();
00058     bool select_previous_page();
00059 
00060     int get_page_count() const;
00061 
00062     // Implementation specific
00063     Panel *m_current_page;
00064     NSTabViewItem *create_page(NotebookPage page, const string &name);
00065 };
00066 
00067     } // cocoa
00068 } // omgui
00069 
00070 #endif // OMGUI_COCOA_NOTEBOOK_H

doxygen SourceForge.net Logo