2016-03-29 10 views
-2

Wie zeigen Sie die GTK3 ScrollBar-Schrittschaltflächen in Vala an?Wie zeigen Sie die GTK3 ScrollBar-Schrittschaltflächen in Vala an?

this.bar = new Scrollbar (Orientation.VERTICAL, adj); 

Das Einschalten der Stepper-Tasten in C + GTK3 ist einfach, es ist die Standardeinstellung. In der üblichen Vala-Dokumentation erfahren Sie, wie Sie das Inkrement für die Schaltflächen festlegen, aber nicht, wie die Schaltflächen angezeigt werden. Beim Suchen nach einer Antwort wird für jede Kombination von Schlüsselwörtern aus der Vala + GTK3-Dokumentation und für jede Kombination von C + GTK3 eine Null zurückgegeben.

Der folgende Code erzeugt eine Bildlaufleiste in C. Die Schaltflächen sind standardmäßig aktiviert.

scroller = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, scroller_adjustment); 
+0

Könnten Sie bitte den C-Beispielcode zu Ihrer Frage hinzufügen, denken Sie auch daran, einen [MCVE] (https://stackoverflow.com/help/mcve) in Vala zu schreiben. –

+0

@Jens, das C-Beispiel wird hinzugefügt. – Peter

Antwort

1

Switching on the stepper buttons in C + GTK3 is easy.

In diesem Fall bietet (oder die Anbindung an) ein Beispiel, was du meinst wäre hilfreich gewesen. Es ist im Allgemeinen trivial, von C nach Vala zu portieren, wenn Sie Vala verstehen, aber wenn Sie es nicht bereitstellen, bedeutet dies, dass Leute, die mit diesem speziellen Teil von GTK + nicht vertraut sind, nachschlagen müssen (und möglicherweise falsch liegen).

The usual Vala documentation tells you how to set the increment for the buttons but not how to display the buttons.

Unter der Annahme, dass die "übliche Vala Dokumentation" Valadoc ist, the Vala documentation ist die gleiche wie the C documentation. Die C-Dokumentation wird auch als Grundlage für die Dokumentation für andere Sprachen verwendet. Wenn Sie also gute Ideen zur Verbesserung haben, bin ich sicher, dass die GTK + Leute einen Patch lieben würden.

Anyways, unter der Annahme, dass das, was Sie wird tun wollen das „hat Forward-Stepper“ und „hat-Rückwärts-Stepper“ Eigenschaften wahr, würden Sie so etwas wie tun:

this.bar.has_forward_stepper = true; 
this.bar.has_backward_stepper = true; 

I‘ d sagen, das ist wesentlich einfacher als in C, wo man so etwas wie g_object_set(self->bar, "has-forward-stepper", true, "has-backward-stepper", true, NULL) verwenden müsste, wo viele Sachen schiefgehen können (es gibt keine Typsicherheit, man könnte den Sentinel vergessen, usw.). Wenn Sie jedoch möchten, können Sie es in Vala tun wie würden Sie in C:

this.bar.set ("has-forward-stepper", true, "has-backward-stepper", true); 

zu beachten, dass, wie die C-Version, gibt es keine Typsicherheit ist. Vala fügt jedoch automatisch den Sentinel NULL für Sie hinzu.

Sie haben sich in der letzten Frage beschwert, die ich von Ihnen sah, wie hart Vala auch war. Genau wie diese Frage hatte dieser eine Antwort, die viel einfacher als C war. Vielleicht anstatt auf SO zu wimmern, sollte man entweder aufhören, es zu benutzen, oder zumindest auf der snarky douchebaggery warten, bis Sie etwas finden, das ist eigentlich schwierig in Vala statt etwas, das eine triviale Antwort hat, die Sie einfach nicht bewusst sind.

+0

Eine Google for Vala Bildlaufleiste erzeugt http://references.valadoc.org/#!api=gtk+-3.0/Gtk.Scrollbar. Die Seite erwähnt Stepper, aber nicht has_forward_stepper oder irgendeine andere Art, Stepper einzuschalten. Ein google for vala Bildlaufleiste Stepper produziert nur diese Frage und die zuvor erwähnte defekte Valadoc-Seite. Ein Google für c Scrollbar Stepper produziert https://developer.gnome.org/gtk3/stable/GtkScrollbar.html welche sechs Stileigenschaften einschließlich has_forward_stepper auflistet. Daher ist die Dokumentation nicht die gleiche. – Peter

+0

Der Compiler erzeugt: Fehler: Der Name 'has_forward_stepper 'existiert nicht im Kontext von' Gtk.Scrollbar' this.bar.has_forward_stepper = true; – Peter

+0

Der Compiler akzeptiert die folgende Zeile ohne Fehler, aber die Schrittschaltflächen wurden nicht angezeigt. this.bar.set ("hat-vorwärts-stepper", wahr, "has-rückwärts-stepper", wahr); – Peter