|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="toolbar_builder.vala" xml:lang="el">
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<title type="text">Η εργαλειοθήκη δημιουργήθηκε χρησιμοποιώντας Glade (Vala)</title>
|
|
Packit |
1470ea |
<link type="guide" xref="beginner.vala#menu-combo-toolbar"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="toolbar.vala"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="grid.vala"/>
|
|
Packit |
1470ea |
<revision version="0.1" date="2012-05-08" status="draft"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Tiffany Antopolski</name>
|
|
Packit |
1470ea |
<email its:translate="no">tiffany.antopolski@gmail.com</email>
|
|
Packit |
1470ea |
<years>2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>Γραμμή κουμπιών</desc>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
|
|
Packit |
1470ea |
<mal:email>team@gnome.gr</mal:email>
|
|
Packit |
1470ea |
<mal:years>2012-2015</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Δημήτρης Σπίγγος</mal:name>
|
|
Packit |
1470ea |
<mal:email>dmtrs32@gmail.com</mal:email>
|
|
Packit |
1470ea |
<mal:years>2012, 2013</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Μαρία Θουκιδίδου</mal:name>
|
|
Packit |
1470ea |
<mal:email>marablack3@gmail.com</mal:email>
|
|
Packit |
1470ea |
<mal:years>2014</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Θάνος Τρυφωνίδης</mal:name>
|
|
Packit |
1470ea |
<mal:email>tomtryf@gmail.com</mal:email>
|
|
Packit |
1470ea |
<mal:years>2014, 2015</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>Η γραμμή εργαλείων δημιουργήθηκε χρησιμοποιώντας Glade</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" mime="image/png" src="media/toolbar.png"/>
|
|
Packit |
1470ea |
Αυτό το παράδειγμα είναι παρόμοιο με <link xref="toolbar.vala"/>, εκτός από τη χρήση Glade για δημιουργία της γραμμής εργαλείων σε ένα αρχείο XML ui.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Για δημιουργία της γραμμής εργαλείων χρησιμοποιώντας το <link href="http://glade.gnome.org/">σχεδιαστή διεπαφής Glade</link>:
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Άνοιγμα του Glade και αποθήκευση του αρχείου ως <file>toolbar_builder.ui</file>
|
|
Packit |
1470ea |
<media type="image" src="media/glade_ui.png" width="900"> Στιγμιότυπο διεπαφής του Glade </media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Στο <gui>περιέκτες</gui> στα αριστερά, δεξί πάτημα στην εργαλειοθήκη και επιλογή <gui>προσθήκη γραφικού στοιχείου ως ανώτατου επιπέδου</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_select_toolbar.png"> Στιγμιότυπο του εικονιδίου εργαλειοθήκης στο Glade ui </media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Στην καρτέλα <gui>γενικά</gui> στα κάτω δεξιά, αλλαγή του <gui>ονόματος</gui> σε <input>γραμμή εργαλείων</input> και <gui>εμφάνιση βέλους</gui> σε <gui>όχι</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_general.png"> Στιγμιότυπο της καρτέλας Γενικά</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Στην καρτέλα <gui>κοινά</gui>, ορίστε <gui>οριζόντια επέκταση</gui> σε <gui>ναι</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_common.png"> Στιγμιότυπο της καρτέλας Κοινά </media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Δεξί κλικ στη γραμμή εργαλείων στα πάνω δεξιά και επιλέξτε <gui>επεξεργασία</gui>. Το παράθυρο <gui>επεξεργαστής γραμμής εργαλείων</gui> θα εμφανιστεί.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_edit.png"> Στιγμιότυπο πού να δεξιοπατήσετε για να επεξεργαστείτε την εργαλειοθήκη. </media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Θέλουμε να προσθέσουμε 5 κουμπιά εργαλείων: νέο, άνοιγμα, αναίρεση, πλήρης οθόνη και εγκατάλειψη πλήρους οθόνης. Πρώτα, θα προσθέσουμε το νέο ToolButton.
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Στην καρτέλα <gui>ιεραρχία</gui>, πατήστε <gui>προσθήκη</gui>. </item>
|
|
Packit |
1470ea |
<item>Αλλαγή του ονόματος του στοιχείου εργαλείου σε <input>new_button</input>. </item>
|
|
Packit |
1470ea |
<item>Κύλιση προς τα κάτω και ρύθμιση του <gui>είναι σημαντικό</gui> σε <gui>ναι</gui>. Αυτό θα προκαλέσει την ετικέτα του ToolButton να εμφανιστεί, όταν προβάλετε τη γραμμή εργαλείων. </item>
|
|
Packit |
1470ea |
<item>Εισάγετε το <gui>όνομα ενέργειας</gui>: <input>app.new</input>. </item>
|
|
Packit |
1470ea |
<item>Αλλαγή του <gui>ετικέτα</gui> σε <input>New</input>. </item>
|
|
Packit |
1470ea |
<item>Επιλογή του <gui>νέου</gui> αναγνωριστικού παρακαταθήκης από το πτυσσόμενο μενού, ή πληκτρολογήστε <input>gtk-new</input>. </item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
Επανάληψη των παραπάνω βημάτων για τα υπολειπόμενα κουμπιά εργαλείων (ToolButtons), με τις παρακάτω ιδιότητες:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Όνομα
|
|
Packit |
1470ea |
Είναι σημαντικό
|
|
Packit |
1470ea |
Όνομα ενέργειας
|
|
Packit |
1470ea |
Ετικέτα
|
|
Packit |
1470ea |
Αναγνωριστικό παρακαταθήκης
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
open_button
|
|
Packit |
1470ea |
Ναι
|
|
Packit |
1470ea |
app.open
|
|
Packit |
1470ea |
Open
|
|
Packit |
1470ea |
gtk-open
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
undo_button
|
|
Packit |
1470ea |
Ναι
|
|
Packit |
1470ea |
win.undo
|
|
Packit |
1470ea |
Αναίρεση
|
|
Packit |
1470ea |
gtk-undo
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
fullscreen_button
|
|
Packit |
1470ea |
Ναι
|
|
Packit |
1470ea |
win.fullscreen
|
|
Packit |
1470ea |
Πλήρης οθόνη
|
|
Packit |
1470ea |
gtk-fullscreen
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
leave_fullscreen_button
|
|
Packit |
1470ea |
Ναι
|
|
Packit |
1470ea |
win.fullscreen
|
|
Packit |
1470ea |
Έξοδος από πλήρη οθόνη
|
|
Packit |
1470ea |
gtk-leave-fullscreen
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_editor.png">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Κλείσιμο του <gui>επεξεργαστή γραμμής εργαλείων</gui>.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Όταν το πρόγραμμά μας θα ξεκινήσει στην αρχή, δεν θέλουμε το ToolButton <gui>έξοδος από πλήρη οθόνη</gui> να είναι ορατό, αφού η εφαρμογή δεν θα είναι σε λειτουργία πλήρους οθόνης. Μπορείτε να το ρυθμίσετε στην καρτέλα <gui>κοινά</gui>, με κλικ στην ιδιότητα <gui>ορατό</gui> σε <gui>όχι</gui>. Το ToolButton θα εξακολουθεί να εμφανίζεται στον σχεδιαστή διεπαφής, αλλά θα συμπεριφέρεται σωστά, όταν το αρχείο φορτώνεται στον κώδικα προγράμματός σας.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_visible_no.png"> Ορισμός της ιδιότητας ορατό σε Όχι </media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Αποθήκευση της εργασίας σας και κλείσιμο του Glade.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Το δημιουργημένο αρχείο XML από το Glade εμφανίζεται παρακάτω. Αυτή είναι η περιγραφή της εργαλειοθήκης. Τη στιγμή της εγγραφής, η επιλογή προσθήκης στην κλάση Gtk.STYLE_CLASS_PRIMARY_TOOLBAR στην διεπαφή Glade δεν υπάρχει. Μπορούμε χειροκίνητα να το προσθέσουμε στο αρχείο XML. Για να το κάνουμε, προσθέστε τον παρακάτω κώδικα XML στη γραμμή 9 του <file>toolbar_builder.ui</file>:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<style>
|
|
Packit |
1470ea |
<class name="primary-toolbar"/>
|
|
Packit |
1470ea |
</style>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Εάν δεν το προσθέσετε, το πρόγραμμα θα εξακολουθήσει να δουλεύει υπέροχα. Η τελική εργαλειοθήκη όμως θα φαίνεται ελαφρά διαφορετική τότε από το στιγμιότυπο στην κορυφή αυτής της σελίδας.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
<?xml version="1.0" encoding="UTF-8"?>
|
|
Packit |
1470ea |
<interface>
|
|
Packit |
1470ea |
<!-- interface-requires gtk+ 3.0 -->
|
|
Packit |
1470ea |
<object class="GtkToolbar" id="toolbar">
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="hexpand">True</property>
|
|
Packit |
1470ea |
<property name="show_arrow">False</property>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="new_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">app.new</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">New</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-new</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="open_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">app.open</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Open</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-open</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="undo_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">win.undo</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Undo</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-undo</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="fullscreen_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">win.fullscreen</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Fullscreen</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-fullscreen</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="leave_fullscreen_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">win.fullscreen</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Leave Fullscreen</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-leave-fullscreen</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
</interface>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Τώρα δημιουργούμε τον παρακάτω κώδικα, που προσθέτει την εργαλειοθήκη από το αρχείο που μόλις δημιουργήσαμε.
|
|
Packit |
1470ea |
/* This is the Window */
|
|
Packit |
1470ea |
class MyWindow : Gtk.ApplicationWindow {
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* Declare these two ToolButtons, as we will get them
|
|
Packit |
1470ea |
* from the ui file (see lines 32 and 33), so we can
|
|
Packit |
1470ea |
* hide() and show() them as needed.*/
|
|
Packit |
1470ea |
Gtk.ToolButton fullscreen_button;
|
|
Packit |
1470ea |
Gtk.ToolButton leave_fullscreen_button;
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* Constructor */
|
|
Packit |
1470ea |
internal MyWindow (MyApplication app) {
|
|
Packit |
1470ea |
Object (application: app, title: "Toolbar Example");
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
this.set_default_size (400, 200);
|
|
Packit |
1470ea |
var grid = new Gtk.Grid ();
|
|
Packit |
1470ea |
this.add (grid);
|
|
Packit |
1470ea |
grid.show ();
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* add the toolbar from the ui file */
|
|
Packit |
1470ea |
var builder = new Gtk.Builder ();
|
|
Packit |
1470ea |
try {
|
|
Packit |
1470ea |
builder.add_from_file ("toolbar_builder.ui");
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
/* Handle the exception */
|
|
Packit |
1470ea |
catch (Error e) {
|
|
Packit |
1470ea |
error ("Unable to load file: %s", e.message);
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
grid.attach (builder.get_object ("toolbar") as Gtk.Toolbar, 0, 0, 1, 1);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* get these objects from the ui file so we can toggle between them */
|
|
Packit |
1470ea |
fullscreen_button = builder.get_object ("fullscreen_button") as Gtk.ToolButton;
|
|
Packit |
1470ea |
leave_fullscreen_button = builder.get_object ("leave_fullscreen_button") as Gtk.ToolButton;
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* create the "undo" window action action */
|
|
Packit |
1470ea |
var undo_action = new SimpleAction ("undo", null);
|
|
Packit |
1470ea |
undo_action.activate.connect (undo_callback);
|
|
Packit |
1470ea |
this.add_action (undo_action);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* create the "fullscreen" window action */
|
|
Packit |
1470ea |
var fullscreen_action = new SimpleAction ("fullscreen", null);
|
|
Packit |
1470ea |
fullscreen_action.activate.connect (fullscreen_callback);
|
|
Packit |
1470ea |
this.add_action (fullscreen_action);
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
void undo_callback (SimpleAction simple, Variant? parameter) {
|
|
Packit |
1470ea |
print ("You clicked \"Undo\".\n");
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
void fullscreen_callback (SimpleAction simple, Variant? parameter) {
|
|
Packit |
1470ea |
if ((this.get_window ().get_state () & Gdk.WindowState.FULLSCREEN) != 0) {
|
|
Packit |
1470ea |
this.unfullscreen ();
|
|
Packit |
1470ea |
leave_fullscreen_button.hide ();
|
|
Packit |
1470ea |
fullscreen_button.show ();
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
else {
|
|
Packit |
1470ea |
this.fullscreen ();
|
|
Packit |
1470ea |
fullscreen_button.hide ();
|
|
Packit |
1470ea |
leave_fullscreen_button.show ();
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* This is the application */
|
|
Packit |
1470ea |
class MyApplication : Gtk.Application {
|
|
Packit |
1470ea |
protected override void activate () {
|
|
Packit |
1470ea |
new MyWindow (this).show ();
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
protected override void startup () {
|
|
Packit |
1470ea |
base.startup ();
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* Create the "new" action and add it to the app*/
|
|
Packit |
1470ea |
var new_action = new SimpleAction ("new", null);
|
|
Packit |
1470ea |
new_action.activate.connect (new_callback);
|
|
Packit |
1470ea |
this.add_action (new_action);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* Create the "open" action, and add it to the app */
|
|
Packit |
1470ea |
var open_action = new SimpleAction ("open", null);
|
|
Packit |
1470ea |
open_action.activate.connect (open_callback);
|
|
Packit |
1470ea |
this.add_action (open_action);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* You could also add the action to the app menu
|
|
Packit |
1470ea |
* if you wanted to.
|
|
Packit |
1470ea |
*/
|
|
Packit |
1470ea |
//var menu = new Menu ();
|
|
Packit |
1470ea |
//menu.append ("New", "app.new");
|
|
Packit |
1470ea |
//this.app_menu = menu;
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
void new_callback (SimpleAction action, Variant? parameter) {
|
|
Packit |
1470ea |
print ("You clicked \"New\".\n");
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
void open_callback (SimpleAction action, Variant? parameter) {
|
|
Packit |
1470ea |
print ("You clicked \"Open\".\n");
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
/* The main function creates the application and runs it. */
|
|
Packit |
1470ea |
int main (string[] args) {
|
|
Packit |
1470ea |
return new MyApplication ().run (args);
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item><link href="http://www.valadoc.org/gtk+-3.0/Gtk.Toolbar.html">Gtk.Toolbar</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://www.valadoc.org/gtk+-3.0/Gtk.ToolButton.html">Gtk.Toolbutton</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://www.valadoc.org/gtk+-3.0/Gtk.Stock.html">Gtk.Stock</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</page>
|