ruby-****@sourc*****
ruby-****@sourc*****
2004年 4月 7日 (水) 05:29:15 JST
------------------------- REMOTE_ADDR = 80.137.240.135 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/de/?Gtk ------------------------- = Modul Gtk Das Gtk-Modul enth$BgM(Bt Methoden wie Bibliotheks-Initialisierung, die main-Schleife, Ereignisse und Standard-Konstanten. Bevor Sie Ruby/GTK benutzen, m$B(Bsen Sie es initialisieren. Diese Initialisierung stellt eine Verbindung zum grundlegenden Window-System her und verarbeitet ein paar vordefinierte Kommandozeilen-Parameter. Die Gtk.init-Funktion initialisiert Ruby/GTK. Wie alle GUI-Toolkits, benutzt Ruby/GTK ein ereignisbasiertes Programmiermodell. Wenn der Benutzer nichts tut, wird Ruby/GTK einfach in der main-Schleife auf Eingaben warten. Wenn der Benutzer eine Aktion ausf$B(Brt, beispielsweise einen Mausklick, wird die main-Schleife "aufwachen" und liefert ein Ereignis an Ruby/GTK. Ruby/GTK leitet dieses Ereignis an ein oder mehrere Widgets weiter. Wenn ein Widget ein Ereignis erh$BgM(Bt, senden Sie regelm$Bha(Big ein oder mehrere Signale. Signale informieren Ihre Anwendung dar$B(Ber, dass "etwas interessantes passiert ist", indem sie einen Block aufrufen, den Sie mit dem Signal verbunden haben. Diese Verbindung k$B(Bnen Sie mit der Methode GLib::Instantiable#signal_connect herstellen. Bl$B(Bke, die mit einem Signal verbunden sind, werden oft als Callbacks bezeichnet. Wenn Ihre Callbacks aufgerufen werden, werden Sie vermutlich einige Anweisungen ausf$B(Bren lassen. Wenn beispielsweise ein $BVf(Bfnen-Button angeklickt wurde, k$Bvn(Bnen Sie einen Gtk::FileSelection-Dialog anzeigen lassen. Wenn ein Callback beendet wurde, wird Ruby/GTK die main-Schleife wieder so lange durchlaufen, bis weitere Eingaben gemacht werden. == Modul-Funktionen --- Gtk.init(argv = ARGV) Rufen Sie diese Funktion auf, bevor Sie andere GTK+-Funktionen in Ihren GUI-Anwendungen benutzen. Diese Funktion initialisiert alles, was f$B|r(B das Toolkit notwendige und verarbeitet einige vordefinierte Kommandozeilen-Parameter. Der Inhalt von argv wird von dieser Methode um diese vordefinierten Parameter gek$B|r(Bzt, sodass Sie diese nie zu sehen bekommen werden. Beachten Sie: Diese Funktion wird einen Laufzeitfehler (RuntimeError) ausl$Bvs(Ben, wenn es das GUI-Toolkit nicht initialisieren konnte, aus welchen Gr$B|n(Bden auch immer. * argv: der Wert aus ARGV. Alle Parameter, die Gtk.init versteht, werden vor weiterer Ausf$B|h(Brung entfernt. * R$B|c(Bkgabe: self --- Gtk.main F$B|h(Brt die main-Schleife so lange aus, bis Gtk.main_quit aufgerufen wird. Sie k$Bvn(Bnen Aufrufe zu Gtk.main verschachteln. In diesem Fall wird Gtk.main_quit die innerste Schleife der Verschachtelung beenden lassen. * R$B|c(Bkgabe: nil --- Gtk.main_level Fragt die aktuelle Schachtelungstiefe der main-Schleife ab. Das kann n$B|t(Bzlich sein, wenn Sie Gtk.quit_add (noch nicht implementiert) aufrufen. * R$B|c(Bkgabe: die Schachtelungstiefe des aktuellen Aufrufs der main-Schleife. --- Gtk.main_quit Beendet den innersten Aufruf der main-Schleife und gibt die Kontrolle an die aufrufende Methode zur$B|c(Bk. * R$B|c(Bkgabe: nil --- Gtk.main_iteration F$B|h(Brt eine einzelne Iteration der main-Schleife aus. Wenn keine Ereignisse zur Bearbeitung anstehen, wird GTK+ blockieren, bis das n$Bdc(Bhste Ereignis es das n$Bdc(Bhste Ereignis bemerkt. Wenn Sie keinen Block m$Bvc(Bhten, sehen Sie sich alternativ hierzu die Methode Gtk.main_iteration_do (noch nicht implementiert) an oder pr$B|f(Ben Sie mit Gtk.events_pending? zuerst, ob Ereignisse zur Bearbeitung anstehen. * R$B|c(Bkgabe: true, wenn Gtk.main_quit f$B|r(B die innerste main-Schleife aufgerufen wurde. --- Gtk.events_pending? Pr$B|f(Bt, ob Ereignisse in der Warteschleife zur Bearbeitung anstehen. Diese Funktion kann benutzt werden, um die Benutzerschnittstelle zu aktualisieren, Timeouts aufzurufen und $Bdh(Bnliche Dinge zu tun, w$Bdh(Brend eine zeitintensive Berechnung ausgef$B|h(Brt wird. while (Gtk.events_pending?) Gtk.main_iteration end * R$B|c(Bkgabe: true, wenn irgendwelche Ereignisse anstehen. --- Gtk.timeout_add(interval){ ... } Setzt einen Block, der in regelm$Bd_(Bigen Intervallen aufgerufen wird, mit der Standardpriorit$Bdt(B, G_PRIORITY_DEFAULT (noch nicht implementiert). Die Funktion wird wiederholt aufgerufen bis sie false zur$B|c(Bkgibt. Wenn das passiert, wird das Timeout automatisch zerst$Bvr(Bt und die Funktion wird nicht nochmals aufgerufen. Die Funktion wird zum ersten Mal am Ende des ersten Intervalls aufgerufen. Beachten Sie, dass die Timeout-Funktionen eine Verz$Bvg(Berung aufweisen k$Bvn(Bnen, was auf andere Ereignisquellen zur$B|c(Bkzuf$B|h(Bren ist. Aus diesem Grund sollten sie nicht f$B|r(B pr$Bdz(Bise Zeitmessungen verwendet werden. Nach jedem Aufruf der Timeout-Funktion wird die Zeit bis zum n$Bdc(Bhsten Timeout anhand der aktuellen Zeit und dem gegebenen Intervall neu berechnet. Es wird nicht versucht, die durch m$Bvg(Bliche Verz$Bvg(Berungen verlorene Zeit wieder aufzuholen. * interval: das Zeitintervall zwischen den Funktionsaufrufen in Millisekunden * { ... }: der auszuf$B|h(Brende Block * R$B|c(Bkgabe: die timeout_handler_id der Ereignisquelle. --- Gtk.timeout_remove(timeout_handler_id) Entfernt das gegebene Timeout, indem alle Informationen dar$B|b(Ber gel$Bvs(Bcht werden. * timeout_handler_id: die Identifikation, die zur$B|c(Bkgegeben wird, wenn das Timeout installiert wurde. * R$B|c(Bkgabe: nil --- Gtk.idle_add { ... } Veranlasst die main-Schleife, den gegebenen Block aufzurufen, sobald keine Ereignisse mit h$Bvh(Berer Priorit$Bdt(B zur Verarbeitung ausstehen. Die Standardpriorit$Bdt(B ist GTK_PRIORITY_DEFAULT (noch nicht implementiert), die relativ niedrig ist. * { ... }: der auszuf$B|h(Brende Block. * R$B|c(Bkgabe: ein eindeutiges Handle f$B|r(B diese Registrierung. --- Gtk.idle_remove(idle_handler_id) Entfernt die Idle-Funktion mit der gegebenen ID. * idle_handler_id: Identifiziert die Idle-Funktion, die entfernt werden soll. * R$B|c(Bkgabe: nil --- Gtk.current_event - Obtains a copy of the event currently being processed by GTK+. For example, if you get a "clicked" signal from Gtk::Button, the current event will be the Gdk::EventButton that triggered the "clicked" signal. If there is no current event, the function returns nil. - * Returns: a copy of the current event, or nil if no current event. + Holt eine Kopie des aktuell in Verarbeitung befindenden Ereignisses. Wenn Sie beispielsweise ein "clicked"-Signal von einem Gtk::Button bekommen, das aktuelle Ereignis wird das Gdk::EventButton sein, welches das "clicked"-Signal ausgel$Bvs(Bt hat. Wenn kein aktuelles Ereignis existiert, gibt diese Funktion nil zur$B|c(Bk. + * Returns: eine Kopie des aktuellen Ereignisses oder nil, wenn kein aktuelles Ereignis existiert. --- Gtk.grab_add - Makes widget the current grabbed widget. This means that interaction with other widgets in the same application is blocked and mouse as well as keyboard events are delivered to this widget. - * widget: The widget that grabs keyboard and pointer events. - * Returns: nil + Macht widget zu dem aktuell "gegriffene" Widget. Das bedeutet, dass Interaktion mit anderen Widgets in der gleichen Anwendung blockiert wird und die Maus- und Keyboard-Ereignisse werden an dieses Widget geliefert. + * widget: das Widget, das Keyboard- und Cursor-Ereignisse auf sich beschr$Bdn(Bkt. + * R$B|c(Bkgabe: nil --- Gtk.grab_remove - Removes the grab from the given widget. You have to pair calls to Gtk.grab_add and Gtk.grab_remove. - * widget : The widget which gives up the grab. - * Returns: nil + Entfernt den Griff von dem gegebenen Widget. Sie m$B|s(Bsen Aufrufe von Gtk.grab_add und Gtk.grab_remove paarweise anordnen. + * widget : das Widget, das die Eingaben greift. + * R$B|c(Bkgabe: nil == Constants === GtkAccelFlags --- ACCEL_VISIBLE = 1 << 0 --- ACCEL_LOCKED = 1 << 1 --- ACCEL_MASK = 0x07 === GtkAnchorType --- ANCHOR_CENTER --- ANCHOR_NORTH --- ANCHOR_NORTH_WEST --- ANCHOR_NORTH_EAST --- ANCHOR_SOUTH --- ANCHOR_SOUTH_WEST --- ANCHOR_SOUTH_EAST --- ANCHOR_WEST --- ANCHOR_EAST --- ANCHOR_N = ANCHOR_NORTH --- ANCHOR_NW = ANCHOR_NORTH_WEST --- ANCHOR_NE = ANCHOR_NORTH_EAST --- ANCHOR_S = ANCHOR_SOUTH --- ANCHOR_SW = ANCHOR_SOUTH_WEST --- ANCHOR_SE = ANCHOR_SOUTH_EAST --- ANCHOR_W = ANCHOR_WEST --- ANCHOR_E = ANCHOR_EAST === GtkAttachOptions Denotes the expansion properties that a widget will have when it (or it's parent) is resized. --- EXPAND = 1 << 0. The widget should expand to take up any extra space in its container that has been allocated. --- SHRINK = 1 << 1. The widget should shrink as and when possible. --- FILL = 1 << 2. The widget should fill the space allocated to it. === GtkCornerType Specifies which corner a child widget should be placed in when packed into a Gtk::ScrolledWindow. This is effectively the opposite of where the scroll bars are placed. --- CORNER_TOP_LEFT Place the scrollbars on the right and bottom of the widget (default behaviour). --- CORNER_BOTTOM_LEFT Place the scrollbars on the top and right of the widget. --- CORNER_TOP_RIGHT Place the scrollbars on the left and bottom of the widget. --- CORNER_BOTTOM_RIGHT Place the scrollbars on the top and left of the widget. === GtkDeleteType --- DELETE_CHARS --- DELETE_WORD_ENDS delete only the portion of the word to the left/right of cursor if we're in the middle of a word. --- DELETE_WORDS --- DELETE_DISPLAY_LINES --- DELETE_DISPLAY_LINE_ENDS --- DELETE_PARAGRAPH_ENDS like C-k in Emacs (or its reverse) --- DELETE_PARAGRAPHS C-k in pico, kill whole line --- DELETE_WHITESPACE M-\ in Emacs === GtkDirectionType --- DIR_TAB_FORWARD --- DIR_TAB_BACKWARD --- DIR_UP --- DIR_DOWN --- DIR_LEFT --- DIR_RIGHT === GtkExpanderStyle --- EXPANDER_COLLAPSED --- EXPANDER_SEMI_COLLAPSED --- EXPANDER_SEMI_EXPANDED --- EXPANDER_EXPANDED === GtkIMPreeditStyle --- IM_PREEDIT_NOTHING --- IM_PREEDIT_CALLBACK === GtkIMStatusStyle --- IM_STATUS_NOTHING --- IM_STATUS_CALLBACK === GtkJustification Used for justifying the text inside a Gtk::Label widget. (See also Gtk::Alignment). --- JUSTIFY_LEFT The text is placed at the left edge of the label. --- JUSTIFY_RIGHT The text is placed at the right edge of the label. --- JUSTIFY_CENTER The text is placed in the center of the label. --- JUSTIFY_FILL The text is placed is distributed across the label. === GtkMetricType --- PIXELS --- INCHES --- CENTIMETERS === GtkMovementStep --- MOVEMENT_LOGICAL_POSITIONS move by forw/back graphemes --- MOVEMENT_VISUAL_POSITIONS move by left/right graphemes --- MOVEMENT_WORDS move by forward/back words --- MOVEMENT_DISPLAY_LINES move up/down lines (wrapped lines) --- MOVEMENT_DISPLAY_LINE_ENDS move up/down lines (wrapped lines) --- MOVEMENT_PARAGRAPHS move up/down paragraphs (newline-ended lines) --- MOVEMENT_PARAGRAPH_ENDS move to either end of a paragraph --- MOVEMENT_PAGES move by pages --- MOVEMENT_BUFFER_ENDS move to ends of the buffer --- MOVEMENT_HORIZONTAL_PAGES move horizontally by pages === GtkOrientation --- ORIENTATION_HORIZONTAL --- ORIENTATION_VERTICAL === GtkPackType Represents the packing location Gtk::Box children. (See: Gtk::VBox, Gtk::HBox, and Gtk::ButtonBox). --- PACK_START The child is packed into the start of the box --- PACK_END The child is packed into the end of the box === GtkPathPriorityType --- PATH_PRIO_LOWEST = 0 --- PATH_PRIO_GTK = 4 --- PATH_PRIO_APPLICATION = 8 --- PATH_PRIO_THEME = 10 --- PATH_PRIO_RC = 12 --- PATH_PRIO_HIGHEST = 15 === GtkPathType --- PATH_WIDGET --- PATH_WIDGET_CLASS --- PATH_CLASS === GtkPolicyType Determines when a scroll bar will be visible. --- POLICY_ALWAYS The scrollbar is always visible. --- POLICY_AUTOMATIC The scrollbar will appear and disappear as necessary. --- POLICY_NEVER The scrollbar will never appear. === GtkPositionType --- POS_LEFT --- POS_RIGHT --- POS_TOP --- POS_BOTTOM === GtkReliefStyle --- RELIEF_NORMAL --- RELIEF_HALF --- RELIEF_NONE === GtkResizeMode --- RESIZE_PARENT Pass resize request to the parent --- RESIZE_QUEUE Queue resizes on this widget --- RESIZE_IMMEDIATE Perform the resizes now === GtkScrollType --- SCROLL_NONE --- SCROLL_JUMP --- SCROLL_STEP_BACKWARD --- SCROLL_STEP_FORWARD --- SCROLL_PAGE_BACKWARD --- SCROLL_PAGE_FORWARD --- SCROLL_STEP_UP --- SCROLL_STEP_DOWN --- SCROLL_PAGE_UP --- SCROLL_PAGE_DOWN --- SCROLL_STEP_LEFT --- SCROLL_STEP_RIGHT --- SCROLL_PAGE_LEFT --- SCROLL_PAGE_RIGHT --- SCROLL_START --- SCROLL_END === GtkSelectionMode --- SELECTION_NONE Nothing can be selected --- SELECTION_SINGLE --- SELECTION_BROWSE --- SELECTION_MULTIPLE === GtkShadowType Used to change the appearance of an outline typically provided by a GtkFrame. --- SHADOW_NONE No outline. --- SHADOW_IN The outline is bevelled inwards. --- SHADOW_OUT The outline is bevelled outwards like a button. --- SHADOW_ETCHED_IN The outline itself is an inward bevel, but the frame does --- SHADOW_ETCHED_OUT === GtkStateType This type indicates the current state of a widget; the state determines how the widget is drawn. The GtkStateType is also used to identify different colors in a Gtk::Style for drawing, so states can be used for subparts of a widget as well as entire widgets. --- STATE_NORMAL State during normal operation. --- STATE_ACTIVE State of a currently active widget, such as a depressed button. --- STATE_PRELIGHT State indicating that the mouse pointer is over the widget and the widget will respond to mouse clicks. --- STATE_SELECTED State of a selected item, such the selected row in a list. --- STATE_INSENSITIVE State indicating that the widget is unresponsive to user actions. === GtkUpdateType --- UPDATE_CONTINUOUS --- UPDATE_DISCONTINUOUS --- UPDATE_DELAYED === GtkVisibility --- VISIBILITY_NONE --- VISIBILITY_PARTIAL --- VISIBILITY_FULL === GtkSortType Determines the direction of a sort. --- SORT_ASCENDING Sorting is in ascending order. --- SORT_DESCENDING Sorting is in descending order. - ((<Masao>))