From: <wda...@us...> - 2008-05-18 20:34:54
|
Revision: 2493 http://oorexx.svn.sourceforge.net/oorexx/?rev=2493&view=rev Author: wdashley Date: 2008-05-18 13:34:47 -0700 (Sun, 18 May 2008) Log Message: ----------- ArtifactID: None Comment: Added menu test. Added Paths: ----------- sandbox/david/4x/test9-1.rex Added: sandbox/david/4x/test9-1.rex =================================================================== --- sandbox/david/4x/test9-1.rex (rev 0) +++ sandbox/david/4x/test9-1.rex 2008-05-18 20:34:47 UTC (rev 2493) @@ -0,0 +1,137 @@ +#!/usr/bin/rexx +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 2007-2008 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.oorexx.org/license.html */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/* Authors; */ +/* W. David Ashley <da...@us...> */ +/* */ +/*----------------------------------------------------------------------------*/ + + +-- Derived from Listing 9-1 +-- Foundations of GTK+ Development +-- by Andrew Krause + +window = .myMainWindow~new(.gtk~GTK_WINDOW_TOPLEVEL) +window~set_title('Popup Menus') +window~signal_connect('destroy') +window~set_border_width(10) +window~set_size_request(250, -1) + +menu = .GtkMenu~new() +eventbox = .myEventBox~new() +progress = .GtkProgressBar~new() +progress~set_text('Nothing Yet Happened') +call create_popup_menu menu, progress + +progress~set_pulse_step(0.05) +eventbox~set_above_child(.false) + +eventbox~user_data = menu +eventbox~signal_connect('button_press_event') + +eventbox~add(progress) +eventbox~realize() + +window~add(scrolled_win) +window~show_all() + +call gtk_main +return + + +::requires 'rexxgtk.cls' + +::routine create_popup_menu +use strict arg menu, progress + +pulse = .MyPulse~new_with_label('Pulse Progress') +fill = .MyFill~new_with_label('Set as Complete') +clear = .MyClear~new_with_label('Clear Progress') +separator = .GtkSeparatorMenuItem~new() + +-- set up the user data for the signals +pulse~user_data = progress +fill~user_data = progress +clear~user_data = progress + +pulse~signal_connect('activate') +fill~signal_connect('activate') +clear~signal_connect('activate') + +menu~append(pulse) +menu~append(separator) +menu~append(fill) +menu~append(clear) + +menu~attach_to_widget(progress) +menu~show_all() +return + +::class myMainWindow subclass GtkWindow + +::method signal_destroy +call gtk_main_quit +return + +::class myEventBox subclass GtkEventBox + +::method signal_button_press_event +if event~button = 3 then do + menu~popup() + end +return .true + +::class MyPulse subclass GtkMenuItem + +::method signal_activate +self~user_data~pulse() +self~user_data~set_text('Pulse!') +return + +::class MyFill subclass GtkMenuItem + +::method signal_activate +self~user_data~set_fraction(1.0) +self~user_data~set_text('One Hundred Percent') +return + +::class MyClear subclass GtkMenuItem + +::method signal_activate +self~user_data~set_fraction(0.0) +self~user_data~set_text('Reset to Zero') +return + Property changes on: sandbox/david/4x/test9-1.rex ___________________________________________________________________ Name: svn:executable + * Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |