Merged GSOC Ribbon work from SOC2009_RIBBON branch into trunk.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
99
include/wx/ribbon/page.h
Normal file
99
include/wx/ribbon/page.h
Normal file
@@ -0,0 +1,99 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/ribbon/page.h
|
||||
// Purpose: Container for ribbon-bar-style interface panels
|
||||
// Author: Peter Cawley
|
||||
// Modified by:
|
||||
// Created: 2009-05-25
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (C) Peter Cawley
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_RIBBON_PAGE_H_
|
||||
#define _WX_RIBBON_PAGE_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_RIBBON
|
||||
|
||||
#include "wx/ribbon/control.h"
|
||||
#include "wx/ribbon/panel.h"
|
||||
#include "wx/bitmap.h"
|
||||
|
||||
class wxRibbonBar;
|
||||
class wxRibbonPageScrollButton;
|
||||
|
||||
class WXDLLIMPEXP_RIBBON wxRibbonPage : public wxRibbonControl
|
||||
{
|
||||
public:
|
||||
wxRibbonPage();
|
||||
|
||||
wxRibbonPage(wxRibbonBar* parent,
|
||||
wxWindowID id = wxID_ANY,
|
||||
const wxString& label = wxEmptyString,
|
||||
const wxBitmap& icon = wxNullBitmap,
|
||||
long style = 0);
|
||||
|
||||
virtual ~wxRibbonPage();
|
||||
|
||||
bool Create(wxRibbonBar* parent,
|
||||
wxWindowID id = wxID_ANY,
|
||||
const wxString& label = wxEmptyString,
|
||||
const wxBitmap& icon = wxNullBitmap,
|
||||
long style = 0);
|
||||
|
||||
void SetArtProvider(wxRibbonArtProvider* art);
|
||||
|
||||
wxBitmap& GetIcon() {return m_icon;}
|
||||
virtual wxSize GetMinSize() const;
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
void SetSizeWithScrollButtonAdjustment(int x, int y, int width, int height);
|
||||
void AdjustRectToIncludeScrollButtons(wxRect* rect) const;
|
||||
|
||||
bool DismissExpandedPanel();
|
||||
|
||||
virtual bool Realize();
|
||||
virtual bool Show(bool show = true);
|
||||
virtual bool Layout();
|
||||
virtual bool ScrollLines(int lines);
|
||||
bool ScrollPixels(int pixels);
|
||||
|
||||
wxOrientation GetMajorAxis() const;
|
||||
|
||||
virtual void RemoveChild(wxWindowBase *child);
|
||||
|
||||
protected:
|
||||
virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
|
||||
|
||||
void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
|
||||
void OnEraseBackground(wxEraseEvent& evt);
|
||||
void OnPaint(wxPaintEvent& evt);
|
||||
void OnSize(wxSizeEvent& evt);
|
||||
|
||||
bool ExpandPanels(wxOrientation direction, int maximum_amount);
|
||||
bool CollapsePanels(wxOrientation direction, int minimum_amount);
|
||||
void ShowScrollButtons();
|
||||
void HideScrollButtons();
|
||||
|
||||
void CommonInit(const wxString& label, const wxBitmap& icon);
|
||||
|
||||
wxArrayRibbonControl m_collapse_stack;
|
||||
wxBitmap m_icon;
|
||||
wxSize m_old_size;
|
||||
// NB: Scroll button windows are siblings rather than children (to get correct clipping of children)
|
||||
wxRibbonPageScrollButton* m_scroll_left_btn;
|
||||
wxRibbonPageScrollButton* m_scroll_right_btn;
|
||||
int m_scroll_amount;
|
||||
int m_scroll_amount_limit;
|
||||
int m_size_in_major_axis_for_children;
|
||||
bool m_scroll_buttons_visible;
|
||||
|
||||
#ifndef SWIG
|
||||
DECLARE_CLASS(wxRibbonPage)
|
||||
DECLARE_EVENT_TABLE()
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif // wxUSE_RIBBON
|
||||
|
||||
#endif // _WX_RIBBON_PAGE_H_
|
||||
Reference in New Issue
Block a user