File: RibbonBar.xsp

package info (click to toggle)
libwx-perl 1%3A0.9909-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,912 kB
  • sloc: cpp: 9,728; perl: 8,182; ansic: 626; makefile: 41
file content (94 lines) | stat: -rw-r--r-- 3,022 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#############################################################################
## Name:        ext/ribbon/XS/RibbonBar.xsp
## Purpose:     XS++ for Wx::RibbonBar
## Author:      Mark Dootson
## Modified by:
## Created:     04/03/2012
## RCS-ID:      $Id: $
## Copyright:   (c) 2012 Mattia Barbon
## Licence:     This program is free software; you can redistribute it and/or
##              modify it under the same terms as Perl itself
#############################################################################

%module{Wx};

#if WXPERL_W_VERSION_GE( 2, 9, 3 ) && wxUSE_RIBBON

#include <wx/ribbon/bar.h>

%loadplugin{build::Wx::XSP::Overload};
%loadplugin{build::Wx::XSP::Event};

%name{Wx::RibbonBarEvent} class wxRibbonBarEvent : public %name{Wx::NotifyEvent} wxNotifyEvent
{
public:
    
    wxRibbonBarEvent(wxEventType command_type = wxEVT_NULL,
                     int win_id = 0,
                     wxRibbonPage* page = NULL);

    wxRibbonPage* GetPage();
    
    void SetPage(wxRibbonPage* page);
};

%Event{%EVT_RIBBONBAR_PAGE_CHANGED(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED};
%Event{%EVT_RIBBONBAR_PAGE_CHANGING(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING};
%Event{%EVT_RIBBONBAR_TAB_MIDDLE_DOWN(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN};
%Event{%EVT_RIBBONBAR_TAB_MIDDLE_UP(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP};
%Event{%EVT_RIBBONBAR_TAB_RIGHT_DOWN(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN};
%Event{%EVT_RIBBONBAR_TAB_RIGHT_UP(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP};
%Event{%EVT_RIBBONBAR_TAB_LEFT_DCLICK(id, func)%}
      {wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK};      


%name{Wx::RibbonBar} class wxRibbonBar : public %name{Wx::RibbonControl} wxRibbonControl
{
public:
   
    %name{newDefault} wxRibbonBar() %Overload
        %postcall{% wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %};

    %name{newFull} wxRibbonBar(wxWindow* parent,
                wxWindowID id = wxID_ANY,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = wxRIBBON_BAR_DEFAULT_STYLE) %Overload
        %postcall{% wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %};
    
    bool Create(wxWindow* parent,
                wxWindowID id = wxID_ANY,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = wxRIBBON_BAR_DEFAULT_STYLE);

    void SetTabCtrlMargins(int left, int right);

    void SetArtProvider(wxRibbonArtProvider* art);

    %name{SetActivePageByIndex} bool SetActivePage(size_t page) %Overload;
    
    %name{SetActivePageByPage} bool SetActivePage(wxRibbonPage* page) %Overload;
    
    int GetActivePage() const;
    
    wxRibbonPage* GetPage(int n);
    
    bool DismissExpandedPanel();

    void ShowPanels(bool show = true);

    void HidePanels();

    bool ArePanelsShown() const;
    
    virtual bool Realize();
};

#endif