Wx-Demo
view release on metacpan or search on metacpan
lib/Wx/DemoModules/wxRibbonControl.pm view on Meta::CPAN
$dummy->SetEventObject($gallery);
$dummy->SetGallery($gallery);
$dummy->SetGalleryItem($item);
$gallery->ProcessEvent($dummy);
}
$dialog->Destroy;
}
sub OnDefaultProvider {
my ( $self, $event ) = @_;
Wx::LogMessage('OnDefaultProvider Called');
$self->{ribbonbar}->DismissExpandedPanel();
$self->set_main_artprovider( Wx::RibbonDefaultArtProvider->new() );
}
sub OnAUIProvider {
my ( $self, $event ) = @_;
Wx::LogMessage('OnAUIProvider Called');
$self->{ribbonbar}->DismissExpandedPanel();
$self->set_main_artprovider( Wx::RibbonAUIArtProvider->new() );
}
sub OnMSWProvider {
my ( $self, $event ) = @_;
Wx::LogMessage('OnMSWProvider Called');
$self->{ribbonbar}->DismissExpandedPanel();
$self->set_main_artprovider( Wx::RibbonMSWArtProvider->new() );
}
sub set_main_artprovider {
my ( $self, $provider ) = @_;
my $ribbon = $self->{ribbonbar};
#$ribbon->Freeze();
$ribbon->SetArtProvider( $provider->Clone );
$self->ResetGalleryArtProviders;
my($primary, $secondary, $tertiary) = $provider->GetColourScheme();
$ribbon->PopulateColoursPanel($ribbon->{primary_panel}, $primary, $ribbon->{primary_id} );
$ribbon->PopulateColoursPanel($ribbon->{secondary_panel}, $secondary, $ribbon->{secondary_id} );
$ribbon->Realize();
#$ribbon->Thaw();
$self->GetSizer->Layout;
$self->Refresh;
}
#-------------------------------------------------------------------------------------
package Wx::DemoModules::wxRibbonControl::RibbonBar;
#-------------------------------------------------------------------------------------
use strict;
use Wx::Ribbon;
use Wx qw( :ribbon :ribbonart :id :bitmap :misc :combobox :sizer :font :pen :colour :brush);
use base qw( Wx::RibbonBar );
use Wx::ArtProvider qw( :clientid :artid );
use Wx::Event qw(
EVT_RIBBONBUTTONBAR_CLICKED EVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED EVT_RIBBONGALLERY_HOVER_CHANGED
EVT_RIBBONGALLERY_SELECTED EVT_RIBBONTOOLBAR_CLICKED EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED
EVT_BUTTON EVT_TOGGLEBUTTON EVT_MENU
);
sub new {
my ($class, $parent) = @_;
my $self = $class->SUPER::new($parent, wxID_ANY);
$self->{bitmapcreation_dc} = Wx::MemoryDC->new;
my $page = Wx::RibbonPage->new($self, wxID_ANY, 'Examples', _loadxpm('ribbon' ) );
my $tbpanel = Wx::RibbonPanel->new( $page, wxID_ANY, 'Toolbar', wxNullBitmap,
wxDefaultPosition, wxDefaultSize, wxRIBBON_PANEL_NO_AUTO_MINIMISE);
my $toolbar = Wx::RibbonToolBar->new($tbpanel, wxID_ANY);
$self->{maintoolbar} = $toolbar;
$toolbar->AddTool(wxID_ANY, _loadxpm( 'align_left' ));
$toolbar->AddTool(wxID_ANY, _loadxpm( 'align_center' ));
$toolbar->AddTool(wxID_ANY, _loadxpm( 'align_right' ));
$toolbar->AddSeparator();
$toolbar->AddHybridTool(wxID_NEW, _ap_bmp(wxART_NEW, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddTool(wxID_ANY, _ap_bmp(wxART_FILE_OPEN, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddTool(wxID_ANY, _ap_bmp(wxART_FILE_SAVE, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddTool(wxID_ANY, _ap_bmp(wxART_FILE_SAVE_AS, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddSeparator();
$toolbar->AddDropdownTool(wxID_UNDO, _ap_bmp(wxART_UNDO, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddDropdownTool(wxID_REDO, _ap_bmp(wxART_REDO, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddSeparator();
$toolbar->AddTool(wxID_ANY, _ap_bmp(wxART_REPORT_VIEW, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddTool(wxID_ANY, _ap_bmp(wxART_LIST_VIEW, wxART_OTHER, Wx::Size->new(16, 15)));
$toolbar->AddSeparator();
my $tool_position_left = $toolbar->AddHybridTool(wxID_ANY, _loadxpm( 'position_left_small' ),
"Align ribbonbar vertically\non the left\nfor demonstration purposes");
my $tool_position_top = $toolbar->AddHybridTool(wxID_ANY, _loadxpm( 'position_top_small' ),
"Align the ribbonbar horizontally\nat the top\nfor demonstration purposes");
$toolbar->AddSeparator();
$toolbar->AddHybridTool(wxID_PRINT, _ap_bmp(wxART_PRINT, wxART_OTHER, Wx::Size->new(16, 15)),
"This is the Print button tooltip\ndemonstrating a tooltip");
$toolbar->SetRows(2, 3);
my $selectionpanel = Wx::RibbonPanel->new($page, wxID_ANY, 'Selection', _loadxpm( 'selection_panel' ));
my $selectionbar = Wx::RibbonButtonBar->new($selectionpanel);
my $tool_selection_expand_v = $selectionbar->AddButton(wxID_ANY, 'Expand Vertically',
_loadxpm( 'expand_selection_v' ),
"This is a tooltip for Expand Vertically\ndemonstrating a tooltip");
my $tool_selection_expand_h = $selectionbar->AddButton(wxID_ANY, 'Expand Horizontally',
_loadxpm( 'expand_selection_h' ), '');
my $tool_selection_contract = $selectionbar->AddButton(wxID_ANY, 'Contract',
_loadxpm( 'auto_crop_selection' ),
_loadxpm( 'auto_crop_selection_small' ) );
( run in 0.547 second using v1.01-cache-2.11-cpan-2398b32b56e )