Adding initial support for cairo.
This commit is contained in:
parent
77945ee127
commit
3ab70cefe5
1
Build.PL
1
Build.PL
|
@ -16,6 +16,7 @@ my $build = Module::Build->new(
|
||||||
'DBI' => 0,
|
'DBI' => 0,
|
||||||
'Moo' => 0,
|
'Moo' => 0,
|
||||||
'namespace::clean' => 0,
|
'namespace::clean' => 0,
|
||||||
|
'Cairo::GObject' => 0,
|
||||||
'UUID::URandom' => 0,
|
'UUID::URandom' => 0,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
@ -14,6 +14,7 @@ use Path::Tiny;
|
||||||
use GEmeTool::Options;
|
use GEmeTool::Options;
|
||||||
use GEmeTool::Save;
|
use GEmeTool::Save;
|
||||||
use GEmeTool::View::LogWindow;
|
use GEmeTool::View::LogWindow;
|
||||||
|
use Cairo::GObject;
|
||||||
|
|
||||||
use Moo;
|
use Moo;
|
||||||
|
|
||||||
|
@ -80,12 +81,14 @@ sub activate {
|
||||||
my $about = Glib::IO::SimpleAction->new( 'about', undef );
|
my $about = Glib::IO::SimpleAction->new( 'about', undef );
|
||||||
my $open = Glib::IO::SimpleAction->new( 'open', undef );
|
my $open = Glib::IO::SimpleAction->new( 'open', undef );
|
||||||
my $logs = Glib::IO::SimpleAction->new( 'view_logs', undef );
|
my $logs = Glib::IO::SimpleAction->new( 'view_logs', undef );
|
||||||
|
my $pc = Glib::IO::SimpleAction->new( 'view_pc', undef );
|
||||||
my $save_as = Glib::IO::SimpleAction->new( 'save_as', undef );
|
my $save_as = Glib::IO::SimpleAction->new( 'save_as', undef );
|
||||||
$save_as->set_enabled(0);
|
$save_as->set_enabled(0);
|
||||||
my $app = $self->_app;
|
my $app = $self->_app;
|
||||||
$app->add_action($about);
|
$app->add_action($about);
|
||||||
$app->add_action($open);
|
$app->add_action($open);
|
||||||
$app->add_action($logs);
|
$app->add_action($logs);
|
||||||
|
$app->add_action($pc);
|
||||||
$app->add_action($save_as);
|
$app->add_action($save_as);
|
||||||
$self->_save_as($save_as);
|
$self->_save_as($save_as);
|
||||||
my $save;
|
my $save;
|
||||||
|
@ -101,6 +104,11 @@ sub activate {
|
||||||
$self->activate_save;
|
$self->activate_save;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
$pc->signal_connect(
|
||||||
|
activate => sub {
|
||||||
|
$self->activate_view_pc;
|
||||||
|
}
|
||||||
|
);
|
||||||
$logs->signal_connect(
|
$logs->signal_connect(
|
||||||
activate => sub {
|
activate => sub {
|
||||||
my $win = $self->_win;
|
my $win = $self->_win;
|
||||||
|
@ -113,10 +121,12 @@ sub activate {
|
||||||
my $about_menu_item = Glib::IO::MenuItem->new( 'About', 'app.about' );
|
my $about_menu_item = Glib::IO::MenuItem->new( 'About', 'app.about' );
|
||||||
my $open_menu_item = Glib::IO::MenuItem->new( 'Open', 'app.open' );
|
my $open_menu_item = Glib::IO::MenuItem->new( 'Open', 'app.open' );
|
||||||
my $logs_menu_item = Glib::IO::MenuItem->new( 'View logs', 'app.view_logs' );
|
my $logs_menu_item = Glib::IO::MenuItem->new( 'View logs', 'app.view_logs' );
|
||||||
|
my $pc_menu_item = Glib::IO::MenuItem->new( 'View pc', 'app.view_pc' );
|
||||||
my $submenu_file = Glib::IO::Menu->new;
|
my $submenu_file = Glib::IO::Menu->new;
|
||||||
my $submenu_view = Glib::IO::Menu->new;
|
my $submenu_view = Glib::IO::Menu->new;
|
||||||
my $submenu_help = Glib::IO::Menu->new;
|
my $submenu_help = Glib::IO::Menu->new;
|
||||||
$submenu_help->append_item($about_menu_item);
|
$submenu_help->append_item($about_menu_item);
|
||||||
|
$submenu_view->append_item($pc_menu_item);
|
||||||
$submenu_view->append_item($logs_menu_item);
|
$submenu_view->append_item($logs_menu_item);
|
||||||
$submenu_file->append_item($open_menu_item);
|
$submenu_file->append_item($open_menu_item);
|
||||||
$submenu_file->append_item($save_menu_item);
|
$submenu_file->append_item($save_menu_item);
|
||||||
|
@ -311,4 +321,21 @@ sub activate_about {
|
||||||
# $about->set_titlebar($header_bar);
|
# $about->set_titlebar($header_bar);
|
||||||
$about->present;
|
$about->present;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub activate_view_pc {
|
||||||
|
my $gtk_window = Gtk4::Window->new;
|
||||||
|
my $canvas = Gtk4::DrawingArea->new;
|
||||||
|
$canvas->set_draw_func(sub {
|
||||||
|
my $canvas = shift;
|
||||||
|
my $cairo = shift;
|
||||||
|
my $width = shift;
|
||||||
|
my $height = shift;
|
||||||
|
print Data::Dumper::Dumper \%Cairo::;
|
||||||
|
$cairo->rectangle(0, 0, $width, $height);
|
||||||
|
$cairo->set_source_rgb(255, 0, 0);
|
||||||
|
$cairo->fill;
|
||||||
|
});
|
||||||
|
$gtk_window->set_child($canvas);
|
||||||
|
$gtk_window->present;
|
||||||
|
}
|
||||||
1;
|
1;
|
||||||
|
|
Loading…
Reference in New Issue