Add background
This commit is contained in:
parent
de3fb36639
commit
f15965a269
|
@ -17,8 +17,9 @@
|
||||||
<object class="GtkDialog" id="prefs">
|
<object class="GtkDialog" id="prefs">
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
<property name="modal">True</property>
|
<property name="modal">True</property>
|
||||||
|
<property name="default-width">300</property>
|
||||||
|
<property name="default-height">70</property>
|
||||||
<property name="type-hint">normal</property>
|
<property name="type-hint">normal</property>
|
||||||
<property name="use-header-bar">1</property>
|
|
||||||
<child internal-child="vbox">
|
<child internal-child="vbox">
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
|
@ -44,6 +45,8 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
<property name="halign">end</property>
|
<property name="halign">end</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="vexpand">True</property>
|
||||||
<property name="label" translatable="yes">Width:</property>
|
<property name="label" translatable="yes">Width:</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -56,6 +59,8 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
<property name="halign">end</property>
|
<property name="halign">end</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="vexpand">True</property>
|
||||||
<property name="label" translatable="yes">Height:</property>
|
<property name="label" translatable="yes">Height:</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -67,6 +72,8 @@
|
||||||
<object class="GtkSpinButton" id="width_spin">
|
<object class="GtkSpinButton" id="width_spin">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">True</property>
|
<property name="can-focus">True</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="vexpand">True</property>
|
||||||
<property name="adjustment">adjustment2</property>
|
<property name="adjustment">adjustment2</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -78,6 +85,8 @@
|
||||||
<object class="GtkSpinButton" id="height_spin">
|
<object class="GtkSpinButton" id="height_spin">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">True</property>
|
<property name="can-focus">True</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="vexpand">True</property>
|
||||||
<property name="adjustment">adjustment1</property>
|
<property name="adjustment">adjustment1</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
|
|
@ -11,14 +11,21 @@
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
<property name="default-width">640</property>
|
<property name="default-width">640</property>
|
||||||
<property name="default-height">480</property>
|
<property name="default-height">480</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkOverlay" id="overlay">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
<child>
|
<child>
|
||||||
<placeholder/>
|
<placeholder/>
|
||||||
</child>
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
<child type="titlebar">
|
<child type="titlebar">
|
||||||
<object class="GtkHeaderBar" id="header">
|
<object class="GtkHeaderBar" id="header">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
<property name="show-close-button">True</property>
|
<property name="show-close-button">True</property>
|
||||||
|
<property name="decoration-layout">close,minimize,maximize:menu</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="btnprefs">
|
<object class="GtkButton" id="btnprefs">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -26,6 +33,9 @@
|
||||||
<property name="receives-default">True</property>
|
<property name="receives-default">True</property>
|
||||||
<property name="image">image1</property>
|
<property name="image">image1</property>
|
||||||
</object>
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="pack-type">end</property>
|
||||||
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
|
@ -8,6 +8,10 @@ m_builder(builder)
|
||||||
m_builder->get_widget("width_spin",m_width);
|
m_builder->get_widget("width_spin",m_width);
|
||||||
m_builder->get_widget("height_spin",m_height);
|
m_builder->get_widget("height_spin",m_height);
|
||||||
|
|
||||||
|
//Initalize Dialog
|
||||||
|
set_icon_name("org.gtk.daleclack");
|
||||||
|
set_title("Preferences");
|
||||||
|
|
||||||
//Create Settings
|
//Create Settings
|
||||||
m_settings=Gio::Settings::create("org.gtk.daleclack");
|
m_settings=Gio::Settings::create("org.gtk.daleclack");
|
||||||
m_settings->bind("width",m_width->property_value());
|
m_settings->bind("width",m_width->property_value());
|
||||||
|
|
|
@ -1,19 +1,40 @@
|
||||||
#include "MyWin.hh"
|
#include "MyWin.hh"
|
||||||
#include "MyPrefs.hh"
|
#include "MyPrefs.hh"
|
||||||
|
#include "winpe.xpm"
|
||||||
|
|
||||||
MyWin::MyWin(BaseObjectType *cobject,const Glib::RefPtr<Gtk::Builder>& builder)
|
MyWin::MyWin(BaseObjectType *cobject,const Glib::RefPtr<Gtk::Builder>& builder)
|
||||||
:Gtk::Window(cobject),
|
:Gtk::Window(cobject),
|
||||||
ref_builder(builder)
|
ref_builder(builder),
|
||||||
|
btnback("BackGround")
|
||||||
{
|
{
|
||||||
|
int width,height;
|
||||||
|
|
||||||
//Create Settings
|
//Create Settings
|
||||||
m_settings=Gio::Settings::create("org.gtk.daleclack");
|
m_settings=Gio::Settings::create("org.gtk.daleclack");
|
||||||
m_settings->bind("width",property_default_width());
|
m_settings->bind("width",property_default_width());
|
||||||
m_settings->bind("height",property_default_height());
|
m_settings->bind("height",property_default_height());
|
||||||
|
width=m_settings->get_int("width");
|
||||||
|
height=m_settings->get_int("height");
|
||||||
|
|
||||||
//Ininalize Window
|
//Ininalize Window
|
||||||
set_icon_name("org.gtk.daleclack");
|
set_icon_name("org.gtk.daleclack");
|
||||||
ref_builder->get_widget("btnprefs",btnprefs);
|
ref_builder->get_widget("btnprefs",btnprefs);
|
||||||
|
ref_builder->get_widget("overlay",overlay);
|
||||||
btnprefs->signal_clicked().connect(sigc::mem_fun(*this,&MyWin::btnprefs_clicked));
|
btnprefs->signal_clicked().connect(sigc::mem_fun(*this,&MyWin::btnprefs_clicked));
|
||||||
|
|
||||||
|
//Add Background
|
||||||
|
overlay->add(background);
|
||||||
|
auto pixbuf=Gdk::Pixbuf::create_from_xpm_data(winpe);
|
||||||
|
auto sized=pixbuf->scale_simple(width,height,Gdk::INTERP_BILINEAR);
|
||||||
|
gtk_image_set_from_pixbuf(background.gobj(),sized->gobj());
|
||||||
|
|
||||||
|
//Add a button
|
||||||
|
btnback.set_halign(Gtk::ALIGN_CENTER);
|
||||||
|
btnback.set_valign(Gtk::ALIGN_CENTER);
|
||||||
|
overlay->add_overlay(btnback);
|
||||||
|
|
||||||
|
//Gtkmm3 only,no need for Gtkmm4 Apps
|
||||||
|
show_all_children();
|
||||||
}
|
}
|
||||||
|
|
||||||
MyWin * MyWin::create(){
|
MyWin * MyWin::create(){
|
||||||
|
|
|
@ -11,6 +11,9 @@ class MyWin : public Gtk::Window{
|
||||||
Glib::RefPtr<Gtk::Builder> ref_builder;
|
Glib::RefPtr<Gtk::Builder> ref_builder;
|
||||||
Glib::RefPtr<Gio::Settings> m_settings;
|
Glib::RefPtr<Gio::Settings> m_settings;
|
||||||
Gtk::Button* btnprefs;
|
Gtk::Button* btnprefs;
|
||||||
|
Gtk::Overlay* overlay;
|
||||||
|
Gtk::Image background;
|
||||||
|
Gtk::Button btnback;
|
||||||
|
|
||||||
//Signal Handlers
|
//Signal Handlers
|
||||||
void btnprefs_clicked();
|
void btnprefs_clicked();
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue