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 )