From e9bdede943f6cb1694bb58fd153842541b200c59 Mon Sep 17 00:00:00 2001 From: maroy Date: Fri, 15 Apr 2005 07:55:46 +0000 Subject: [PATCH] handling widget disposal properly fix for issue #805, see http://bugs.campware.org/view.php?id=805 --- .../products/gLiveSupport/etc/Makefile.in | 3 +- .../gLiveSupport/src/AudioClipListWindow.cxx | 43 +-- .../gLiveSupport/src/AudioClipListWindow.h | 16 +- .../gLiveSupport/src/GLiveSupport.cxx | 6 +- .../src/MasterPanelUserInfoWidget.cxx | 41 ++- .../src/MasterPanelUserInfoWidget.h | 15 +- .../gLiveSupport/src/PlaylistListWindow.cxx | 82 ++--- .../gLiveSupport/src/PlaylistListWindow.h | 30 +- .../src/SchedulePlaylistWindow.cxx | 22 +- .../gLiveSupport/src/SchedulePlaylistWindow.h | 22 +- .../gLiveSupport/src/SchedulerWindow.cxx | 14 +- .../gLiveSupport/src/SchedulerWindow.h | 18 +- .../src/SimplePlaylistManagementWindow.cxx | 19 +- .../src/SimplePlaylistManagementWindow.h | 22 +- .../gLiveSupport/src/UiTestMainWindow.cxx | 289 ------------------ .../gLiveSupport/src/UiTestMainWindow.h | 213 ------------- .../products/gLiveSupport/src/main.cxx | 16 +- 17 files changed, 217 insertions(+), 654 deletions(-) delete mode 100644 livesupport/products/gLiveSupport/src/UiTestMainWindow.cxx delete mode 100644 livesupport/products/gLiveSupport/src/UiTestMainWindow.h diff --git a/livesupport/products/gLiveSupport/etc/Makefile.in b/livesupport/products/gLiveSupport/etc/Makefile.in index c1f208f95..e98670582 100644 --- a/livesupport/products/gLiveSupport/etc/Makefile.in +++ b/livesupport/products/gLiveSupport/etc/Makefile.in @@ -21,7 +21,7 @@ # # # Author : $Author: maroy $ -# Version : $Revision: 1.27 $ +# Version : $Revision: 1.28 $ # Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/etc/Makefile.in,v $ # # @configure_input@ @@ -180,7 +180,6 @@ LDFLAGS = @LDFLAGS@ -pthread \ # Dependencies #------------------------------------------------------------------------------- G_LIVESUPPORT_OBJS = ${TMP_DIR}/GLiveSupport.o \ - ${TMP_DIR}/UiTestMainWindow.o \ ${TMP_DIR}/MasterPanelWindow.o \ ${TMP_DIR}/MasterPanelUserInfoWidget.o \ ${TMP_DIR}/LoginWindow.o \ diff --git a/livesupport/products/gLiveSupport/src/AudioClipListWindow.cxx b/livesupport/products/gLiveSupport/src/AudioClipListWindow.cxx index 09712276f..a30ca24e8 100644 --- a/livesupport/products/gLiveSupport/src/AudioClipListWindow.cxx +++ b/livesupport/products/gLiveSupport/src/AudioClipListWindow.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.3 $ + Version : $Revision: 1.4 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/AudioClipListWindow.cxx,v $ ------------------------------------------------------------------------------*/ @@ -68,12 +68,17 @@ AudioClipListWindow :: AudioClipListWindow ( try { set_title(*getResourceUstring("windowTitle")); - closeButton.reset(new Gtk::Button( + closeButton = Gtk::manage(new Gtk::Button( *getResourceUstring("closeButtonLabel"))); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; } + vBox = Gtk::manage(new Gtk::VBox()); + scrolledWindow = Gtk::manage(new Gtk::ScrolledWindow()); + treeView = Gtk::manage(new Gtk::TreeView()); + buttonBox = Gtk::manage(new Gtk::HButtonBox()); + // set up the close button closeButton->set_name("closeButton"); closeButton->set_flags(Gtk::CAN_FOCUS|Gtk::CAN_DEFAULT|Gtk::HAS_DEFAULT); @@ -86,35 +91,35 @@ AudioClipListWindow :: AudioClipListWindow ( set_border_width(5); set_default_size(400, 200); - add(vBox); + add(*vBox); // Add the TreeView, inside a ScrolledWindow, with the button underneath: - scrolledWindow.add(treeView); + scrolledWindow->add(*treeView); // Only show the scrollbars when they are necessary: - scrolledWindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); + scrolledWindow->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); - vBox.pack_start(scrolledWindow); - vBox.pack_start(buttonBox, Gtk::PACK_SHRINK); + vBox->pack_start(*scrolledWindow); + vBox->pack_start(*buttonBox, Gtk::PACK_SHRINK); - buttonBox.pack_start(*closeButton, Gtk::PACK_SHRINK); - buttonBox.set_border_width(5); - buttonBox.set_layout(Gtk::BUTTONBOX_END); + buttonBox->pack_start(*closeButton, Gtk::PACK_SHRINK); + buttonBox->set_border_width(5); + buttonBox->set_layout(Gtk::BUTTONBOX_END); // Create the Tree model: treeModel = Gtk::ListStore::create(modelColumns); - treeView.set_model(treeModel); + treeView->set_model(treeModel); // Add the TreeView's view columns: try { - treeView.append_column(*getResourceUstring("idColumnLabel"), - modelColumns.idColumn); - treeView.append_column(*getResourceUstring("lengthColumnLabel"), - modelColumns.lengthColumn); - treeView.append_column(*getResourceUstring("uriColumnLabel"), - modelColumns.uriColumn); - treeView.append_column(*getResourceUstring("tokenColumnLabel"), - modelColumns.tokenColumn); + treeView->append_column(*getResourceUstring("idColumnLabel"), + modelColumns.idColumn); + treeView->append_column(*getResourceUstring("lengthColumnLabel"), + modelColumns.lengthColumn); + treeView->append_column(*getResourceUstring("uriColumnLabel"), + modelColumns.uriColumn); + treeView->append_column(*getResourceUstring("tokenColumnLabel"), + modelColumns.tokenColumn); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; } diff --git a/livesupport/products/gLiveSupport/src/AudioClipListWindow.h b/livesupport/products/gLiveSupport/src/AudioClipListWindow.h index e3be5ec85..fb0e9714f 100644 --- a/livesupport/products/gLiveSupport/src/AudioClipListWindow.h +++ b/livesupport/products/gLiveSupport/src/AudioClipListWindow.h @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.3 $ + Version : $Revision: 1.4 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/AudioClipListWindow.h,v $ ------------------------------------------------------------------------------*/ @@ -67,7 +67,7 @@ using namespace LiveSupport::Core; * A window, showing and handling audio clips. * * @author $Author: maroy $ - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ */ class AudioClipListWindow : public Gtk::Window, public LocalizedObject { @@ -79,7 +79,7 @@ class AudioClipListWindow : public Gtk::Window, public LocalizedObject * Lists one clip per row. * * @author $Author: maroy $ - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ */ class ModelColumns : public Gtk::TreeModel::ColumnRecord { @@ -130,17 +130,17 @@ class AudioClipListWindow : public Gtk::Window, public LocalizedObject /** * The main container in the window. */ - Gtk::VBox vBox; + Gtk::VBox * vBox; /** * A scrolled window, so that the list can be scrolled. */ - Gtk::ScrolledWindow scrolledWindow; + Gtk::ScrolledWindow * scrolledWindow; /** * The tree view, now only showing rows. */ - Gtk::TreeView treeView; + Gtk::TreeView * treeView; /** * The tree model, as a GTK reference. @@ -150,12 +150,12 @@ class AudioClipListWindow : public Gtk::Window, public LocalizedObject /** * The box containing the close button. */ - Gtk::HButtonBox buttonBox; + Gtk::HButtonBox * buttonBox; /** * The close button. */ - Ptr::Ref closeButton; + Gtk::Button * closeButton; /** * Signal handler for the close button clicked. diff --git a/livesupport/products/gLiveSupport/src/GLiveSupport.cxx b/livesupport/products/gLiveSupport/src/GLiveSupport.cxx index 1f432ec3f..db26806a9 100644 --- a/livesupport/products/gLiveSupport/src/GLiveSupport.cxx +++ b/livesupport/products/gLiveSupport/src/GLiveSupport.cxx @@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Author : $Author: fgerlits $ - Version : $Revision: 1.26 $ + Author : $Author: maroy $ + Version : $Revision: 1.27 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/GLiveSupport.cxx,v $ ------------------------------------------------------------------------------*/ @@ -232,6 +232,8 @@ GLiveSupport :: show(void) throw () // Shows the window and returns when it is closed. Gtk::Main::run(*masterPanel); + + masterPanel.reset(); } diff --git a/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.cxx b/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.cxx index 11565ad01..73173c1b1 100644 --- a/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.cxx +++ b/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.6 $ + Version : $Revision: 1.7 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.cxx,v $ ------------------------------------------------------------------------------*/ @@ -69,12 +69,17 @@ MasterPanelUserInfoWidget :: MasterPanelUserInfoWidget ( this->gLiveSupport = gLiveSupport; loggedIn = false; - logInOutButton = Gtk::manage( - WidgetFactory::getInstance()->createButton("")); + Ptr::Ref wf = WidgetFactory::getInstance(); + + logInOutButton = Gtk::manage(wf->createButton("")); logInOutSignalConnection = logInOutButton->signal_clicked().connect(sigc::mem_fun(*this, &MasterPanelUserInfoWidget::onLoginButtonClicked)); + closeButton = Gtk::manage(wf->createButton(WidgetFactory::deleteButton)); + closeButton->signal_clicked().connect(sigc::mem_fun(*this, + &MasterPanelUserInfoWidget::onCloseButtonClicked)); + userInfoLabel = Gtk::manage(new Gtk::Label()); changeLanguage(bundle); @@ -86,7 +91,10 @@ MasterPanelUserInfoWidget :: MasterPanelUserInfoWidget ( attach(*userInfoLabel, 1, 2, 0, 1, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 5, 0); - + attach(*closeButton, 2, 3, 0, 1, + Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, + 5, 0); + // show everything show_all(); } @@ -131,6 +139,11 @@ MasterPanelUserInfoWidget :: onLogoutButtonClicked (void) throw () logInOutButton->signal_clicked().connect(sigc::mem_fun(*this, &MasterPanelUserInfoWidget::onLoginButtonClicked)); + // add the close button + attach(*closeButton, 2, 3, 0, 1, + Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, + 5, 0); + // show only the anonymous UI gLiveSupport->showAnonymousUI(); } @@ -171,12 +184,18 @@ MasterPanelUserInfoWidget :: onLoginButtonClicked (void) throw () logInOutButton->signal_clicked().connect(sigc::mem_fun(*this, &MasterPanelUserInfoWidget::onLogoutButtonClicked)); + // update the UI to the possibly selected locale Ptr::Ref locale = loginWindow->getSelectedLocale(); if (locale->size() > 0) { gLiveSupport->changeLanguage(locale); } else { // TODO: get and set default locale for user } + + // remove the close button + remove(*closeButton); + + // show the logged in UI gLiveSupport->showLoggedInUI(); } } @@ -220,3 +239,17 @@ MasterPanelUserInfoWidget :: updateStrings(void) } +/*------------------------------------------------------------------------------ + * Event handler for the close button getting clicked. + *----------------------------------------------------------------------------*/ +void +MasterPanelUserInfoWidget :: onCloseButtonClicked (void) throw () +{ + // get the topmost container, should be the application window itself + Gtk::Container * container = get_parent(); + while (container->get_parent()) { + container = container->get_parent(); + } + container->hide(); +} + diff --git a/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.h b/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.h index b84e726c1..f97ab412e 100644 --- a/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.h +++ b/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.h @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.4 $ + Version : $Revision: 1.5 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.h,v $ ------------------------------------------------------------------------------*/ @@ -68,7 +68,7 @@ using namespace LiveSupport::Core; * This widget handles login and login info display. * * @author $Author: maroy $ - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ */ class MasterPanelUserInfoWidget : public Gtk::Table, public LocalizedObject @@ -79,6 +79,11 @@ class MasterPanelUserInfoWidget : public Gtk::Table, */ Widgets::Button * logInOutButton; + /** + * The close application button. + */ + Widgets::ImageButton * closeButton; + /** * A label to display the currently logged in user. */ @@ -118,6 +123,12 @@ class MasterPanelUserInfoWidget : public Gtk::Table, virtual void onLogoutButtonClicked(void) throw (); + /** + * Signal handler for the close button clicked. + */ + virtual void + onCloseButtonClicked(void) throw (); + /** * Update the strings in the widget, including the localized strings. * diff --git a/livesupport/products/gLiveSupport/src/PlaylistListWindow.cxx b/livesupport/products/gLiveSupport/src/PlaylistListWindow.cxx index a8e26cd44..267811b47 100644 --- a/livesupport/products/gLiveSupport/src/PlaylistListWindow.cxx +++ b/livesupport/products/gLiveSupport/src/PlaylistListWindow.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/PlaylistListWindow.cxx,v $ ------------------------------------------------------------------------------*/ @@ -70,14 +70,26 @@ PlaylistListWindow :: PlaylistListWindow ( // get localized resources try { set_title(*getResourceUstring("windowTitle")); - listBoxLabel.set_text(*getResourceUstring("listBoxLabel")); - detailBoxLabel.set_text(*getResourceUstring("detailBoxLabel")); - closeButton.reset(new Gtk::Button( + listBoxLabel = Gtk::manage(new Gtk::Label( + *getResourceUstring("listBoxLabel"))); + detailBoxLabel = Gtk::manage(new Gtk::Label( + *getResourceUstring("detailBoxLabel"))); + closeButton = Gtk::manage(new Gtk::Button( *getResourceUstring("closeButtonLabel"))); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; } + mainBox = Gtk::manage(new Gtk::VBox()); + playlistBox = Gtk::manage(new Gtk::HBox()); + listBox = Gtk::manage(new Gtk::VBox()); + listScrolledWindow = Gtk::manage(new Gtk::ScrolledWindow()); + listTreeView = Gtk::manage(new Gtk::TreeView()); + detailBox = Gtk::manage(new Gtk::VBox()); + detailScrolledWindow = Gtk::manage(new Gtk::ScrolledWindow()); + detailTreeView = Gtk::manage(new Gtk::TreeView()); + buttonBox = Gtk::manage(new Gtk::HButtonBox()); + // set up the close button closeButton->set_name("closeButton"); closeButton->set_flags(CAN_FOCUS|CAN_DEFAULT|HAS_DEFAULT); @@ -91,33 +103,33 @@ PlaylistListWindow :: PlaylistListWindow ( set_default_size(400, 200); // set up the main box - add(mainBox); - mainBox.pack_start(playlistBox); - mainBox.pack_start(buttonBox, PACK_SHRINK); + add(*mainBox); + mainBox->pack_start(*playlistBox); + mainBox->pack_start(*buttonBox, PACK_SHRINK); // set up the playlist box - playlistBox.pack_start(listBox, PACK_EXPAND_WIDGET, 5); - playlistBox.pack_start(detailBox, PACK_EXPAND_WIDGET, 5); + playlistBox->pack_start(*listBox, PACK_EXPAND_WIDGET, 5); + playlistBox->pack_start(*detailBox, PACK_EXPAND_WIDGET, 5); // set up the listBox - listBox.pack_start(listBoxLabel, PACK_SHRINK); - listBox.pack_start(listScrolledWindow); + listBox->pack_start(*listBoxLabel, PACK_SHRINK); + listBox->pack_start(*listScrolledWindow); // set up the listScrolledWindow - listScrolledWindow.add(listTreeView); - listScrolledWindow.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC); + listScrolledWindow->add(*listTreeView); + listScrolledWindow->set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC); // create the list tree view, and add its columns listTreeModel = ListStore::create(modelColumns); - listTreeView.set_model(listTreeModel); + listTreeView->set_model(listTreeModel); try { - listTreeView.append_column(*getResourceUstring("idColumnLabel"), + listTreeView->append_column(*getResourceUstring("idColumnLabel"), modelColumns.idColumn); - listTreeView.append_column(*getResourceUstring("lengthColumnLabel"), + listTreeView->append_column(*getResourceUstring("lengthColumnLabel"), modelColumns.lengthColumn); - listTreeView.append_column(*getResourceUstring("uriColumnLabel"), + listTreeView->append_column(*getResourceUstring("uriColumnLabel"), modelColumns.uriColumn); - listTreeView.append_column(*getResourceUstring("tokenColumnLabel"), + listTreeView->append_column(*getResourceUstring("tokenColumnLabel"), modelColumns.tokenColumn); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; @@ -125,29 +137,29 @@ PlaylistListWindow :: PlaylistListWindow ( // attach the event handler for the user selecting a playlist from // the list of playlists - listTreeSelection = listTreeView.get_selection(); + listTreeSelection = listTreeView->get_selection(); listTreeSelection->signal_changed().connect( sigc::mem_fun(*this, &PlaylistListWindow::onPlaylistListSelection)); // set up the detailBox - detailBox.pack_start(detailBoxLabel, PACK_SHRINK); - detailBox.pack_start(detailScrolledWindow); + detailBox->pack_start(*detailBoxLabel, PACK_SHRINK); + detailBox->pack_start(*detailScrolledWindow); // set up the detailed scroll window - detailScrolledWindow.add(detailTreeView); - detailScrolledWindow.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC); + detailScrolledWindow->add(*detailTreeView); + detailScrolledWindow->set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC); // create the detail tree view, and add its columns detailTreeModel = ListStore::create(modelColumns); - detailTreeView.set_model(detailTreeModel); + detailTreeView->set_model(detailTreeModel); try { - detailTreeView.append_column(*getResourceUstring("idColumnLabel"), - modelColumns.idColumn); - detailTreeView.append_column(*getResourceUstring("lengthColumnLabel"), - modelColumns.lengthColumn); - detailTreeView.append_column(*getResourceUstring("uriColumnLabel"), - modelColumns.uriColumn); - detailTreeView.append_column(*getResourceUstring("tokenColumnLabel"), + detailTreeView->append_column(*getResourceUstring("idColumnLabel"), + modelColumns.idColumn); + detailTreeView->append_column(*getResourceUstring("lengthColumnLabel"), + modelColumns.lengthColumn); + detailTreeView->append_column(*getResourceUstring("uriColumnLabel"), + modelColumns.uriColumn); + detailTreeView->append_column(*getResourceUstring("tokenColumnLabel"), modelColumns.tokenColumn); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; @@ -155,14 +167,14 @@ PlaylistListWindow :: PlaylistListWindow ( // attach the event handler for the user selecting an entry from // the list of playlist details - detailTreeSelection = detailTreeView.get_selection(); + detailTreeSelection = detailTreeView->get_selection(); detailTreeSelection->signal_changed().connect( sigc::mem_fun(*this, &PlaylistListWindow::onDetailSelection)); // set up the button box - buttonBox.pack_start(*closeButton, PACK_SHRINK); - buttonBox.set_border_width(5); - buttonBox.set_layout(BUTTONBOX_END); + buttonBox->pack_start(*closeButton, PACK_SHRINK); + buttonBox->set_border_width(5); + buttonBox->set_layout(BUTTONBOX_END); showAllPlaylists(); diff --git a/livesupport/products/gLiveSupport/src/PlaylistListWindow.h b/livesupport/products/gLiveSupport/src/PlaylistListWindow.h index f96c1748b..4cc5c3e42 100644 --- a/livesupport/products/gLiveSupport/src/PlaylistListWindow.h +++ b/livesupport/products/gLiveSupport/src/PlaylistListWindow.h @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.4 $ + Version : $Revision: 1.5 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/PlaylistListWindow.h,v $ ------------------------------------------------------------------------------*/ @@ -84,7 +84,7 @@ using namespace LiveSupport::Core; * * * @author $Author: maroy $ - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ */ class PlaylistListWindow : public Gtk::Window, public LocalizedObject { @@ -120,7 +120,7 @@ class PlaylistListWindow : public Gtk::Window, public LocalizedObject * Lists one playlist per row. * * @author $Author: maroy $ - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ */ class ModelColumns : public Gtk::TreeModel::ColumnRecord { @@ -171,36 +171,36 @@ class PlaylistListWindow : public Gtk::Window, public LocalizedObject /** * The main container in the window. */ - Gtk::VBox mainBox; + Gtk::VBox * mainBox; /** * The container holding the two boxes for playlist viewing: * one lists the playlist, the other the details of the selected * playlist. */ - Gtk::HBox playlistBox; + Gtk::HBox * playlistBox; /** * The container holding the playlist list tree view and accompanying * label. */ - Gtk::VBox listBox; + Gtk::VBox * listBox; /** * The label for listBox. */ - Gtk::Label listBoxLabel; + Gtk::Label * listBoxLabel; /** * A scrolled window holding the list of playlists * so that the list can be scrolled. */ - Gtk::ScrolledWindow listScrolledWindow; + Gtk::ScrolledWindow * listScrolledWindow; /** * A tree view, showing rows only, the list of playlists. */ - Gtk::TreeView listTreeView; + Gtk::TreeView * listTreeView; /** * The tree model, as a GTK reference, holding the list of @@ -224,24 +224,24 @@ class PlaylistListWindow : public Gtk::Window, public LocalizedObject * The container holding the playlist detail tree view and accompanying * label. */ - Gtk::VBox detailBox; + Gtk::VBox * detailBox; /** * The label for detailBox. */ - Gtk::Label detailBoxLabel; + Gtk::Label * detailBoxLabel; /** * A scrolled window holding the details of a playlist * so that the details can be scrolled. */ - Gtk::ScrolledWindow detailScrolledWindow; + Gtk::ScrolledWindow * detailScrolledWindow; /** * A tree view, showing rows only, the details of the selected * playlist. */ - Gtk::TreeView detailTreeView; + Gtk::TreeView * detailTreeView; /** * The tree model, as a GTK reference, holding the details of a @@ -252,12 +252,12 @@ class PlaylistListWindow : public Gtk::Window, public LocalizedObject /** * The box containing the close button. */ - Gtk::HButtonBox buttonBox; + Gtk::HButtonBox * buttonBox; /** * The close button. */ - Ptr::Ref closeButton; + Gtk::Button * closeButton; /** * Signal to catch the event of the user selecting a row diff --git a/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.cxx b/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.cxx index 71cd86c47..a7a6427d2 100644 --- a/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.cxx +++ b/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.3 $ + Version : $Revision: 1.4 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.cxx,v $ ------------------------------------------------------------------------------*/ @@ -72,23 +72,25 @@ SchedulePlaylistWindow :: SchedulePlaylistWindow ( try { set_title(*getResourceUstring("windowTitle")); - hourLabel.reset(new Gtk::Label(*getResourceUstring("hourLabel"))); - minuteLabel.reset(new Gtk::Label(*getResourceUstring("minuteLabel"))); - scheduleButton.reset(new Gtk::Button( + hourLabel = Gtk::manage(new Gtk::Label(*getResourceUstring( + "hourLabel"))); + minuteLabel = Gtk::manage(new Gtk::Label(*getResourceUstring( + "minuteLabel"))); + scheduleButton = Gtk::manage(new Gtk::Button( *getResourceUstring("scheduleButtonLabel"))); - closeButton.reset(new Gtk::Button( + closeButton = Gtk::manage(new Gtk::Button( *getResourceUstring("closeButtonLabel"))); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; } - playlistLabel.reset(new Gtk::Label(*playlist->getTitle())); - calendar.reset(new Gtk::Calendar()); - hourEntry.reset(new Gtk::Entry()); - minuteEntry.reset(new Gtk::Entry()); + playlistLabel = Gtk::manage(new Gtk::Label(*playlist->getTitle())); + calendar = Gtk::manage(new Gtk::Calendar()); + hourEntry = Gtk::manage(new Gtk::Entry()); + minuteEntry = Gtk::manage(new Gtk::Entry()); - layout.reset(new Gtk::Table()); + layout = Gtk::manage(new Gtk::Table()); layout->attach(*playlistLabel, 0, 4, 0, 1); layout->attach(*calendar, 0, 4, 1, 2); diff --git a/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.h b/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.h index c9dfc578f..51509c261 100644 --- a/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.h +++ b/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.h @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.1 $ + Version : $Revision: 1.2 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.h,v $ ------------------------------------------------------------------------------*/ @@ -84,7 +84,7 @@ using namespace LiveSupport::Core; * * * @author $Author: maroy $ - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ class SchedulePlaylistWindow : public Gtk::Window, public LocalizedObject { @@ -104,47 +104,47 @@ class SchedulePlaylistWindow : public Gtk::Window, public LocalizedObject /** * The main container in the window. */ - Ptr::Ref layout; + Gtk::Table * layout; /** * The label displaying the name of the playlist to schedule. */ - Ptr::Ref playlistLabel; + Gtk::Label * playlistLabel; /** * The calendar to select a specific date from. */ - Ptr::Ref calendar; + Gtk::Calendar * calendar; /** * The hour label. */ - Ptr::Ref hourLabel; + Gtk::Label * hourLabel; /** * The entry field for hour. */ - Ptr::Ref hourEntry; + Gtk::Entry * hourEntry; /** * The minute label. */ - Ptr::Ref minuteLabel; + Gtk::Label * minuteLabel; /** * The minute entry field. */ - Ptr::Ref minuteEntry; + Gtk::Entry * minuteEntry; /** * The schedule button. */ - Ptr::Ref scheduleButton; + Gtk::Button * scheduleButton; /** * The close button. */ - Ptr::Ref closeButton; + Gtk::Button * closeButton; /** * Signal handler for the schedule button clicked. diff --git a/livesupport/products/gLiveSupport/src/SchedulerWindow.cxx b/livesupport/products/gLiveSupport/src/SchedulerWindow.cxx index cfefaf6a8..69d4209d8 100644 --- a/livesupport/products/gLiveSupport/src/SchedulerWindow.cxx +++ b/livesupport/products/gLiveSupport/src/SchedulerWindow.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulerWindow.cxx,v $ ------------------------------------------------------------------------------*/ @@ -69,19 +69,19 @@ SchedulerWindow :: SchedulerWindow (Ptr::Ref gLiveSupport, try { set_title(*getResourceUstring("windowTitle")); - closeButton.reset(new Gtk::Button( + closeButton = Gtk::manage(new Gtk::Button( *getResourceUstring("closeButtonLabel"))); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; } - calendar.reset(new Gtk::Calendar()); - dateLabel.reset(new Gtk::Label()); + calendar = Gtk::manage(new Gtk::Calendar()); + dateLabel = Gtk::manage(new Gtk::Label()); // create the tree view for the entries entryColumns.reset(new ModelColumns()); entriesModel = Gtk::ListStore::create(*entryColumns); - entriesView.reset(new Gtk::TreeView()); + entriesView = Gtk::manage(new Gtk::TreeView()); entriesView->set_model(entriesModel); // Add the TreeView's view columns: @@ -101,7 +101,7 @@ SchedulerWindow :: SchedulerWindow (Ptr::Ref gLiveSupport, &SchedulerWindow::onEntryClicked)); // create the right-click entry context menu for audio clips - entryMenu.reset(new Gtk::Menu()); + entryMenu = Gtk::manage(new Gtk::Menu()); Gtk::Menu::MenuList& menuList = entryMenu->items(); // register the signal handlers for the popup menu menuList.push_back(Gtk::Menu_Helpers::MenuElem( @@ -110,7 +110,7 @@ SchedulerWindow :: SchedulerWindow (Ptr::Ref gLiveSupport, &SchedulerWindow::onDeleteItem))); entryMenu->accelerate(*this); - layout.reset(new Gtk::Table()); + layout = Gtk::manage(new Gtk::Table()); layout->attach(*calendar, 0, 1, 0, 1); layout->attach(*dateLabel, 0, 1, 1, 2); diff --git a/livesupport/products/gLiveSupport/src/SchedulerWindow.h b/livesupport/products/gLiveSupport/src/SchedulerWindow.h index 3c65dab7c..9369de0ff 100644 --- a/livesupport/products/gLiveSupport/src/SchedulerWindow.h +++ b/livesupport/products/gLiveSupport/src/SchedulerWindow.h @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.2 $ + Version : $Revision: 1.3 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulerWindow.h,v $ ------------------------------------------------------------------------------*/ @@ -88,7 +88,7 @@ using namespace LiveSupport::Core; * * * @author $Author: maroy $ - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ class SchedulerWindow : public Gtk::Window, public LocalizedObject { @@ -100,7 +100,7 @@ class SchedulerWindow : public Gtk::Window, public LocalizedObject * Lists one scheduled item per row. * * @author $Author: maroy $ - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ class ModelColumns : public Gtk::TreeModel::ColumnRecord { @@ -151,17 +151,17 @@ class SchedulerWindow : public Gtk::Window, public LocalizedObject /** * The main container in the window. */ - Ptr::Ref layout; + Gtk::Table * layout; /** * The calendar to select a specific date from. */ - Ptr::Ref calendar; + Gtk::Calendar * calendar; /** * The label saying which day is being displayed. */ - Ptr::Ref dateLabel; + Gtk::Label * dateLabel; /** * The column model. @@ -172,7 +172,7 @@ class SchedulerWindow : public Gtk::Window, public LocalizedObject * The tree view, now only showing rows, each scheduled entry for a * specific day. */ - Ptr::Ref entriesView; + Gtk::TreeView * entriesView; /** * The tree model, as a GTK reference. @@ -182,12 +182,12 @@ class SchedulerWindow : public Gtk::Window, public LocalizedObject /** * The right-click context menu for schedule entries. */ - Ptr::Ref entryMenu; + Gtk::Menu * entryMenu; /** * The close button. */ - Ptr::Ref closeButton; + Gtk::Button * closeButton; /** * Signal handler for when a date is selected in the calendar. diff --git a/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.cxx b/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.cxx index fb18aa24b..d86fc31ff 100644 --- a/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.cxx +++ b/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.6 $ + Version : $Revision: 1.7 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.cxx,v $ ------------------------------------------------------------------------------*/ @@ -68,18 +68,19 @@ SimplePlaylistManagementWindow :: SimplePlaylistManagementWindow ( try { set_title(*getResourceUstring("windowTitle")); - nameLabel.reset(new Gtk::Label(*getResourceUstring("nameLabel"))); - saveButton.reset(new Gtk::Button( + nameLabel = Gtk::manage(new Gtk::Label(*getResourceUstring( + "nameLabel"))); + saveButton = Gtk::manage(new Gtk::Button( *getResourceUstring("saveButtonLabel"))); - closeButton.reset(new Gtk::Button( + closeButton = Gtk::manage(new Gtk::Button( *getResourceUstring("closeButtonLabel"))); } catch (std::invalid_argument &e) { std::cerr << e.what() << std::endl; } - nameEntry.reset(new Gtk::Entry()); - entriesScrolledWindow.reset(new Gtk::ScrolledWindow()); - entriesView.reset(new Gtk::TreeView()); + nameEntry = Gtk::manage(new Gtk::Entry()); + entriesScrolledWindow = Gtk::manage(new Gtk::ScrolledWindow()); + entriesView = Gtk::manage(new Gtk::TreeView()); // set up the entry scrolled window, with the entry treeview inside. entriesScrolledWindow->add(*entriesView); @@ -102,10 +103,10 @@ SimplePlaylistManagementWindow :: SimplePlaylistManagementWindow ( std::cerr << e.what() << std::endl; } - statusBar.reset(new Gtk::Label(*getResourceUstring("statusBar"))); + statusBar = Gtk::manage(new Gtk::Label(*getResourceUstring("statusBar"))); // set up the layout - layout.reset(new Gtk::Table()); + layout = Gtk::manage(new Gtk::Table()); set_border_width(10); layout->attach(*nameLabel, 0, 1, 0, 1); diff --git a/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.h b/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.h index 7f16f4eb2..074f1d081 100644 --- a/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.h +++ b/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.h @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.2 $ + Version : $Revision: 1.3 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.h,v $ ------------------------------------------------------------------------------*/ @@ -83,7 +83,7 @@ using namespace LiveSupport::Core; * * * @author $Author: maroy $ - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ class SimplePlaylistManagementWindow : public Gtk::Window, public LocalizedObject @@ -96,7 +96,7 @@ class SimplePlaylistManagementWindow : public Gtk::Window, * Lists one playlist entry per row. * * @author $Author: maroy $ - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ class ModelColumns : public Gtk::TreeModel::ColumnRecord { @@ -147,27 +147,27 @@ class SimplePlaylistManagementWindow : public Gtk::Window, /** * The layout used in the window. */ - Ptr::Ref layout; + Gtk::Table * layout; /** * The label for the name entry. */ - Ptr::Ref nameLabel; + Gtk::Label * nameLabel; /** * The test input entry for the name of the playlist. */ - Ptr::Ref nameEntry; + Gtk::Entry * nameEntry; /** * A scrolled window, so that the entry list can be scrolled. */ - Ptr::Ref entriesScrolledWindow; + Gtk::ScrolledWindow * entriesScrolledWindow; /** * The entry tree view, now only showing rows. */ - Ptr::Ref entriesView; + Gtk::TreeView * entriesView; /** * The entry tree model, as a GTK reference. @@ -177,17 +177,17 @@ class SimplePlaylistManagementWindow : public Gtk::Window, /** * The save button. */ - Ptr::Ref saveButton; + Gtk::Button * saveButton; /** * The close button. */ - Ptr::Ref closeButton; + Gtk::Button * closeButton; /** * The status bar. */ - Ptr::Ref statusBar; + Gtk::Label * statusBar; /** * Signal handler for the save button clicked. diff --git a/livesupport/products/gLiveSupport/src/UiTestMainWindow.cxx b/livesupport/products/gLiveSupport/src/UiTestMainWindow.cxx deleted file mode 100644 index fd9f9e90e..000000000 --- a/livesupport/products/gLiveSupport/src/UiTestMainWindow.cxx +++ /dev/null @@ -1,289 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the LiveSupport project. - http://livesupport.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - LiveSupport is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - LiveSupport is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with LiveSupport; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author: maroy $ - Version : $Revision: 1.10 $ - Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/UiTestMainWindow.cxx,v $ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include -#include -#include -#include - -#include "LiveSupport/Core/TimeConversion.h" -#include "LoginWindow.h" -#include "AudioClipListWindow.h" -#include "PlaylistListWindow.h" -#include "UiTestMainWindow.h" - - -using namespace LiveSupport::GLiveSupport; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -UiTestMainWindow :: UiTestMainWindow (Ptr::Ref gLiveSupport, - Ptr::Ref bundle) - throw () - : LocalizedObject(bundle) -{ - this->gLiveSupport = gLiveSupport; - - try { - set_title(*getResourceUstring("windowTitle")); - statusLabel.reset(new Gtk::Label(*getResourceUstring("welcomeMsg"))); - } catch (std::invalid_argument &e) { - std::cerr << e.what() << std::endl; - } - - // set up the time label - timeLabel.reset(new Gtk::Label("")); - - // set up the login button - loginButton.reset(new Gtk::Button("loginWindow")); - loginButton->signal_clicked().connect(sigc::mem_fun(*this, - &UiTestMainWindow::onLoginButtonClicked)); - - // set up the logout button - logoutButton.reset(new Gtk::Button("logout")); - logoutButton->signal_clicked().connect(sigc::mem_fun(*this, - &UiTestMainWindow::onLogoutButtonClicked)); - - // set up the audio clip list button - audioClipListButton.reset(new Gtk::Button("audioClipList")); - audioClipListButton->signal_clicked().connect(sigc::mem_fun(*this, - &UiTestMainWindow::onAudioClipListButtonClicked)); - - // set up the playlist list button - playlistListButton.reset(new Gtk::Button("playlistList")); - playlistListButton->signal_clicked().connect(sigc::mem_fun(*this, - &UiTestMainWindow::onPlaylistListButtonClicked)); - - // set up the quit button - quitButton.reset(new Gtk::Button("quit")); - quitButton->signal_clicked().connect(sigc::mem_fun(*this, - &UiTestMainWindow::onQuitButtonClicked)); - - // set up the layout, which is a button box - layout.reset(new Gtk::VButtonBox()); - - // set up the main window, and show everything - set_border_width(10); - layout->add(*statusLabel); - layout->add(*timeLabel); - layout->add(*loginButton); - layout->add(*audioClipListButton); - layout->add(*playlistListButton); - layout->add(*logoutButton); - layout->add(*quitButton); - add(*layout); - - // show everything - show_all(); - - // set the timer, that will update timeLabel - setTimer(); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -UiTestMainWindow :: ~UiTestMainWindow (void) throw () -{ - resetTimer(); -} - - -/*------------------------------------------------------------------------------ - * Set the timer - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: setTimer(void) throw () -{ - sigc::slot slot = sigc::bind(sigc::mem_fun(*this, - &UiTestMainWindow::onUpdateTime), - 0); - - // set the timer to active once a second - timer.reset(new sigc::connection( - Glib::signal_timeout().connect(slot, 1000))); -} - - -/*------------------------------------------------------------------------------ - * Clear the timer - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: resetTimer(void) throw () -{ - timer->disconnect(); - timer.reset(); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the logout button getting clicked. - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: onLogoutButtonClicked (void) throw () -{ - gLiveSupport->logout(); - try { - statusLabel->set_label(*getResourceUstring("welcomeMsg")); - } catch (std::invalid_argument &e) { - std::cerr << e.what() << std::endl; - } -} - - -/*------------------------------------------------------------------------------ - * Event handler for the quit button getting clicked. - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: onQuitButtonClicked (void) throw () -{ - hide(); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the login button getting clicked. - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: onLoginButtonClicked (void) throw () -{ - Ptr::Ref loginBundle; - try { - loginBundle = getBundle("loginWindow"); - } catch (std::invalid_argument &e) { - std::cerr << e.what() << std::endl; - return; - } - - Ptr::Ref loginWindow(new LoginWindow(gLiveSupport, - loginBundle)); - - Gtk::Main::run(*loginWindow); - - Ptr::Ref login = loginWindow->getLogin(); - Ptr::Ref password = loginWindow->getPassword(); - - bool loggedIn = gLiveSupport->login(login->raw(), password->raw()); - - if (loggedIn) { - Ptr::Ref uLogin = ustringToUnicodeString(login); - Formattable arguments[] = { *uLogin }; - Ptr::Ref msg = formatMessageUstring("loggedInMsg", - arguments, 1); - - statusLabel->set_label(*msg); - } -} - - -/*------------------------------------------------------------------------------ - * Update the timeLabel display, with the current time - *----------------------------------------------------------------------------*/ -bool -UiTestMainWindow :: onUpdateTime(int dummy) throw () -{ - Ptr::Ref now = gLiveSupport->getScheduler() - ->getSchedulerTime(); - - if (now.get()) { - time_duration dayTime = now->time_of_day(); - // get the time of day, only up to a second precision - time_duration dayTimeSec(dayTime.hours(), - dayTime.minutes(), - dayTime.seconds(), - 0); - - timeLabel->set_text(to_simple_string(dayTimeSec)); - } - - return true; -} - - -/*------------------------------------------------------------------------------ - * Event handler for the audio clip list button getting clicked. - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: onAudioClipListButtonClicked (void) throw () -{ - Ptr::Ref bundle; - try { - bundle = getBundle("audioClipListWindow"); - } catch (std::invalid_argument &e) { - std::cerr << e.what() << std::endl; - return; - } - - Ptr::Ref audioClipListWindow( - new AudioClipListWindow(gLiveSupport, bundle)); - - Gtk::Main::run(*audioClipListWindow); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the audio clip list button getting clicked. - *----------------------------------------------------------------------------*/ -void -UiTestMainWindow :: onPlaylistListButtonClicked (void) throw () -{ - Ptr::Ref bundle; - try { - bundle = getBundle("playlistListWindow"); - } catch (std::invalid_argument &e) { - std::cerr << e.what() << std::endl; - return; - } - - Ptr::Ref playlistListWindow( - new PlaylistListWindow(gLiveSupport, bundle)); - - Gtk::Main::run(*playlistListWindow); -} - - diff --git a/livesupport/products/gLiveSupport/src/UiTestMainWindow.h b/livesupport/products/gLiveSupport/src/UiTestMainWindow.h deleted file mode 100644 index e7ae2504b..000000000 --- a/livesupport/products/gLiveSupport/src/UiTestMainWindow.h +++ /dev/null @@ -1,213 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the LiveSupport project. - http://livesupport.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - LiveSupport is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - LiveSupport is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with LiveSupport; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author: maroy $ - Version : $Revision: 1.8 $ - Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/UiTestMainWindow.h,v $ - -------------------------------------------------------------------------------*/ -#ifndef UiTestMainWindow_h -#define UiTestMainWindow_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include -#include -#include - -#include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Core/LocalizedObject.h" - -#include "GLiveSupport.h" - -namespace LiveSupport { -namespace GLiveSupport { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A window, enabling interactive testing of UI components. - * - * @author $Author: maroy $ - * @version $Revision: 1.8 $ - */ -class UiTestMainWindow : public Gtk::Window, public LocalizedObject -{ - protected: - /** - * The layout used in the window. - */ - Ptr::Ref layout; - - /** - * A label to display the status of the user. - */ - Ptr::Ref statusLabel; - - /** - * A label showing the current time, with second precision. - */ - Ptr::Ref timeLabel; - - /** - * The signal connection, that is notified by the GTK timer each - * second, and will update timeLabel on each wakeup. - */ - Ptr::Ref timer; - - /** - * The to quit the applicaiton. - */ - Ptr::Ref quitButton; - - /** - * The button invoking the LoginWindow. - */ - Ptr::Ref loginButton; - - /** - * The button to log out. - */ - Ptr::Ref logoutButton; - - /** - * The button to that brings up the audio clip list window. - */ - Ptr::Ref audioClipListButton; - - /** - * The button to that brings up the playlist list window. - */ - Ptr::Ref playlistListButton; - - /** - * The gLiveSupport object, handling the logic of the application. - */ - Ptr::Ref gLiveSupport; - - /** - * Signal handler for the quit button clicked. - */ - virtual void - onQuitButtonClicked(void) throw (); - - /** - * Signal handler for the login button clicked. - */ - virtual void - onLoginButtonClicked(void) throw (); - - /** - * Signal handler for the logout button clicked. - */ - virtual void - onLogoutButtonClicked(void) throw (); - - /** - * Signal handler for the audio clip list button clicked. - */ - virtual void - onAudioClipListButtonClicked(void) throw (); - - /** - * Signal handler for the playlist list button clicked. - */ - virtual void - onPlaylistListButtonClicked(void) throw (); - - /** - * Function that updates timeLabel with the current time. - * This is called by GTK at regular intervals. - * - * @param dummy a dummy, unused parameter - * @return true if the timer should call this function again, - * false if the timer should be canceled - */ - virtual bool - onUpdateTime(int dummy) throw (); - - /** - * Register onUpdateTime with the GTK timer. - * - * @see #resetTimer - */ - virtual void - setTimer(void) throw (); - - /** - * Stop the timer, which was set by setTimer(). - * - * @see #setTimer - */ - virtual void - resetTimer(void) throw (); - - - public: - /** - * Constructor. - * - * @param gLiveSupport the gLiveSupport object, handling the - * logic of the application - * @param bundle the resource bundle holding localized resources - */ - UiTestMainWindow(Ptr::Ref gLiveSupport, - Ptr::Ref bundle) - throw (); - - /** - * Virtual destructor. - */ - virtual - ~UiTestMainWindow(void) throw (); - -}; - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace GLiveSupport -} // namespace LiveSupport - -#endif // UiTestMainWindow_h - diff --git a/livesupport/products/gLiveSupport/src/main.cxx b/livesupport/products/gLiveSupport/src/main.cxx index 21fe372db..fedbf7747 100644 --- a/livesupport/products/gLiveSupport/src/main.cxx +++ b/livesupport/products/gLiveSupport/src/main.cxx @@ -22,7 +22,7 @@ Author : $Author: maroy $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/main.cxx,v $ ------------------------------------------------------------------------------*/ @@ -132,21 +132,21 @@ int main ( int argc, case 'h': printUsage(argv[0], std::cout); - exit(EXIT_SUCCESS); + return 0; case 'v': printVersion(std::cout); - exit(EXIT_SUCCESS); + return 0; default: printUsage(argv[0], std::cout); - exit(EXIT_FAILURE); + return 1; } } if (optind != argc) { printUsage(argv[0], std::cout); - exit(EXIT_FAILURE); + return 1; } std::cerr << "using config file '" << configFileName << '\'' << std::endl; @@ -162,16 +162,16 @@ int main ( int argc, } catch (std::invalid_argument &e) { std::cerr << "semantic error in configuration file" << std::endl << e.what() << std::endl; - exit(EXIT_FAILURE); + return 1; } catch (xmlpp::exception &e) { std::cerr << "error parsing configuration file" << std::endl << e.what() << std::endl; - exit(EXIT_FAILURE); + return 1; } gLiveSupport->show(); - exit(EXIT_SUCCESS); + return 0; }