handling widget disposal properly
fix for issue #805, see http://bugs.campware.org/view.php?id=805
This commit is contained in:
parent
241abf6ee6
commit
e9bdede943
17 changed files with 217 additions and 654 deletions
|
@ -21,7 +21,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Author : $Author: maroy $
|
# 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 $
|
# Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/etc/Makefile.in,v $
|
||||||
#
|
#
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
@ -180,7 +180,6 @@ LDFLAGS = @LDFLAGS@ -pthread \
|
||||||
# Dependencies
|
# Dependencies
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
G_LIVESUPPORT_OBJS = ${TMP_DIR}/GLiveSupport.o \
|
G_LIVESUPPORT_OBJS = ${TMP_DIR}/GLiveSupport.o \
|
||||||
${TMP_DIR}/UiTestMainWindow.o \
|
|
||||||
${TMP_DIR}/MasterPanelWindow.o \
|
${TMP_DIR}/MasterPanelWindow.o \
|
||||||
${TMP_DIR}/MasterPanelUserInfoWidget.o \
|
${TMP_DIR}/MasterPanelUserInfoWidget.o \
|
||||||
${TMP_DIR}/LoginWindow.o \
|
${TMP_DIR}/LoginWindow.o \
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/AudioClipListWindow.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -68,12 +68,17 @@ AudioClipListWindow :: AudioClipListWindow (
|
||||||
|
|
||||||
try {
|
try {
|
||||||
set_title(*getResourceUstring("windowTitle"));
|
set_title(*getResourceUstring("windowTitle"));
|
||||||
closeButton.reset(new Gtk::Button(
|
closeButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("closeButtonLabel")));
|
*getResourceUstring("closeButtonLabel")));
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
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
|
// set up the close button
|
||||||
closeButton->set_name("closeButton");
|
closeButton->set_name("closeButton");
|
||||||
closeButton->set_flags(Gtk::CAN_FOCUS|Gtk::CAN_DEFAULT|Gtk::HAS_DEFAULT);
|
closeButton->set_flags(Gtk::CAN_FOCUS|Gtk::CAN_DEFAULT|Gtk::HAS_DEFAULT);
|
||||||
|
@ -86,35 +91,35 @@ AudioClipListWindow :: AudioClipListWindow (
|
||||||
set_border_width(5);
|
set_border_width(5);
|
||||||
set_default_size(400, 200);
|
set_default_size(400, 200);
|
||||||
|
|
||||||
add(vBox);
|
add(*vBox);
|
||||||
|
|
||||||
// Add the TreeView, inside a ScrolledWindow, with the button underneath:
|
// Add the TreeView, inside a ScrolledWindow, with the button underneath:
|
||||||
scrolledWindow.add(treeView);
|
scrolledWindow->add(*treeView);
|
||||||
|
|
||||||
// Only show the scrollbars when they are necessary:
|
// 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(*scrolledWindow);
|
||||||
vBox.pack_start(buttonBox, Gtk::PACK_SHRINK);
|
vBox->pack_start(*buttonBox, Gtk::PACK_SHRINK);
|
||||||
|
|
||||||
buttonBox.pack_start(*closeButton, Gtk::PACK_SHRINK);
|
buttonBox->pack_start(*closeButton, Gtk::PACK_SHRINK);
|
||||||
buttonBox.set_border_width(5);
|
buttonBox->set_border_width(5);
|
||||||
buttonBox.set_layout(Gtk::BUTTONBOX_END);
|
buttonBox->set_layout(Gtk::BUTTONBOX_END);
|
||||||
|
|
||||||
// Create the Tree model:
|
// Create the Tree model:
|
||||||
treeModel = Gtk::ListStore::create(modelColumns);
|
treeModel = Gtk::ListStore::create(modelColumns);
|
||||||
treeView.set_model(treeModel);
|
treeView->set_model(treeModel);
|
||||||
|
|
||||||
// Add the TreeView's view columns:
|
// Add the TreeView's view columns:
|
||||||
try {
|
try {
|
||||||
treeView.append_column(*getResourceUstring("idColumnLabel"),
|
treeView->append_column(*getResourceUstring("idColumnLabel"),
|
||||||
modelColumns.idColumn);
|
modelColumns.idColumn);
|
||||||
treeView.append_column(*getResourceUstring("lengthColumnLabel"),
|
treeView->append_column(*getResourceUstring("lengthColumnLabel"),
|
||||||
modelColumns.lengthColumn);
|
modelColumns.lengthColumn);
|
||||||
treeView.append_column(*getResourceUstring("uriColumnLabel"),
|
treeView->append_column(*getResourceUstring("uriColumnLabel"),
|
||||||
modelColumns.uriColumn);
|
modelColumns.uriColumn);
|
||||||
treeView.append_column(*getResourceUstring("tokenColumnLabel"),
|
treeView->append_column(*getResourceUstring("tokenColumnLabel"),
|
||||||
modelColumns.tokenColumn);
|
modelColumns.tokenColumn);
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
std::cerr << e.what() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
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.
|
* A window, showing and handling audio clips.
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.3 $
|
* @version $Revision: 1.4 $
|
||||||
*/
|
*/
|
||||||
class AudioClipListWindow : public Gtk::Window, public LocalizedObject
|
class AudioClipListWindow : public Gtk::Window, public LocalizedObject
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ class AudioClipListWindow : public Gtk::Window, public LocalizedObject
|
||||||
* Lists one clip per row.
|
* Lists one clip per row.
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.3 $
|
* @version $Revision: 1.4 $
|
||||||
*/
|
*/
|
||||||
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
||||||
{
|
{
|
||||||
|
@ -130,17 +130,17 @@ class AudioClipListWindow : public Gtk::Window, public LocalizedObject
|
||||||
/**
|
/**
|
||||||
* The main container in the window.
|
* The main container in the window.
|
||||||
*/
|
*/
|
||||||
Gtk::VBox vBox;
|
Gtk::VBox * vBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scrolled window, so that the list can be scrolled.
|
* A scrolled window, so that the list can be scrolled.
|
||||||
*/
|
*/
|
||||||
Gtk::ScrolledWindow scrolledWindow;
|
Gtk::ScrolledWindow * scrolledWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The tree view, now only showing rows.
|
* The tree view, now only showing rows.
|
||||||
*/
|
*/
|
||||||
Gtk::TreeView treeView;
|
Gtk::TreeView * treeView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The tree model, as a GTK reference.
|
* The tree model, as a GTK reference.
|
||||||
|
@ -150,12 +150,12 @@ class AudioClipListWindow : public Gtk::Window, public LocalizedObject
|
||||||
/**
|
/**
|
||||||
* The box containing the close button.
|
* The box containing the close button.
|
||||||
*/
|
*/
|
||||||
Gtk::HButtonBox buttonBox;
|
Gtk::HButtonBox * buttonBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The close button.
|
* The close button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref closeButton;
|
Gtk::Button * closeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal handler for the close button clicked.
|
* Signal handler for the close button clicked.
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: fgerlits $
|
Author : $Author: maroy $
|
||||||
Version : $Revision: 1.26 $
|
Version : $Revision: 1.27 $
|
||||||
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/GLiveSupport.cxx,v $
|
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.
|
// Shows the window and returns when it is closed.
|
||||||
Gtk::Main::run(*masterPanel);
|
Gtk::Main::run(*masterPanel);
|
||||||
|
|
||||||
|
masterPanel.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/MasterPanelUserInfoWidget.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -69,12 +69,17 @@ MasterPanelUserInfoWidget :: MasterPanelUserInfoWidget (
|
||||||
this->gLiveSupport = gLiveSupport;
|
this->gLiveSupport = gLiveSupport;
|
||||||
loggedIn = false;
|
loggedIn = false;
|
||||||
|
|
||||||
logInOutButton = Gtk::manage(
|
Ptr<WidgetFactory>::Ref wf = WidgetFactory::getInstance();
|
||||||
WidgetFactory::getInstance()->createButton(""));
|
|
||||||
|
logInOutButton = Gtk::manage(wf->createButton(""));
|
||||||
logInOutSignalConnection =
|
logInOutSignalConnection =
|
||||||
logInOutButton->signal_clicked().connect(sigc::mem_fun(*this,
|
logInOutButton->signal_clicked().connect(sigc::mem_fun(*this,
|
||||||
&MasterPanelUserInfoWidget::onLoginButtonClicked));
|
&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());
|
userInfoLabel = Gtk::manage(new Gtk::Label());
|
||||||
|
|
||||||
changeLanguage(bundle);
|
changeLanguage(bundle);
|
||||||
|
@ -86,7 +91,10 @@ MasterPanelUserInfoWidget :: MasterPanelUserInfoWidget (
|
||||||
attach(*userInfoLabel, 1, 2, 0, 1,
|
attach(*userInfoLabel, 1, 2, 0, 1,
|
||||||
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL,
|
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL,
|
||||||
5, 0);
|
5, 0);
|
||||||
|
attach(*closeButton, 2, 3, 0, 1,
|
||||||
|
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL,
|
||||||
|
5, 0);
|
||||||
|
|
||||||
// show everything
|
// show everything
|
||||||
show_all();
|
show_all();
|
||||||
}
|
}
|
||||||
|
@ -131,6 +139,11 @@ MasterPanelUserInfoWidget :: onLogoutButtonClicked (void) throw ()
|
||||||
logInOutButton->signal_clicked().connect(sigc::mem_fun(*this,
|
logInOutButton->signal_clicked().connect(sigc::mem_fun(*this,
|
||||||
&MasterPanelUserInfoWidget::onLoginButtonClicked));
|
&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
|
// show only the anonymous UI
|
||||||
gLiveSupport->showAnonymousUI();
|
gLiveSupport->showAnonymousUI();
|
||||||
}
|
}
|
||||||
|
@ -171,12 +184,18 @@ MasterPanelUserInfoWidget :: onLoginButtonClicked (void) throw ()
|
||||||
logInOutButton->signal_clicked().connect(sigc::mem_fun(*this,
|
logInOutButton->signal_clicked().connect(sigc::mem_fun(*this,
|
||||||
&MasterPanelUserInfoWidget::onLogoutButtonClicked));
|
&MasterPanelUserInfoWidget::onLogoutButtonClicked));
|
||||||
|
|
||||||
|
// update the UI to the possibly selected locale
|
||||||
Ptr<const std::string>::Ref locale = loginWindow->getSelectedLocale();
|
Ptr<const std::string>::Ref locale = loginWindow->getSelectedLocale();
|
||||||
if (locale->size() > 0) {
|
if (locale->size() > 0) {
|
||||||
gLiveSupport->changeLanguage(locale);
|
gLiveSupport->changeLanguage(locale);
|
||||||
} else {
|
} else {
|
||||||
// TODO: get and set default locale for user
|
// TODO: get and set default locale for user
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// remove the close button
|
||||||
|
remove(*closeButton);
|
||||||
|
|
||||||
|
// show the logged in UI
|
||||||
gLiveSupport->showLoggedInUI();
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
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.
|
* This widget handles login and login info display.
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.4 $
|
* @version $Revision: 1.5 $
|
||||||
*/
|
*/
|
||||||
class MasterPanelUserInfoWidget : public Gtk::Table,
|
class MasterPanelUserInfoWidget : public Gtk::Table,
|
||||||
public LocalizedObject
|
public LocalizedObject
|
||||||
|
@ -79,6 +79,11 @@ class MasterPanelUserInfoWidget : public Gtk::Table,
|
||||||
*/
|
*/
|
||||||
Widgets::Button * logInOutButton;
|
Widgets::Button * logInOutButton;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The close application button.
|
||||||
|
*/
|
||||||
|
Widgets::ImageButton * closeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A label to display the currently logged in user.
|
* A label to display the currently logged in user.
|
||||||
*/
|
*/
|
||||||
|
@ -118,6 +123,12 @@ class MasterPanelUserInfoWidget : public Gtk::Table,
|
||||||
virtual void
|
virtual void
|
||||||
onLogoutButtonClicked(void) throw ();
|
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.
|
* Update the strings in the widget, including the localized strings.
|
||||||
*
|
*
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/PlaylistListWindow.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -70,14 +70,26 @@ PlaylistListWindow :: PlaylistListWindow (
|
||||||
// get localized resources
|
// get localized resources
|
||||||
try {
|
try {
|
||||||
set_title(*getResourceUstring("windowTitle"));
|
set_title(*getResourceUstring("windowTitle"));
|
||||||
listBoxLabel.set_text(*getResourceUstring("listBoxLabel"));
|
listBoxLabel = Gtk::manage(new Gtk::Label(
|
||||||
detailBoxLabel.set_text(*getResourceUstring("detailBoxLabel"));
|
*getResourceUstring("listBoxLabel")));
|
||||||
closeButton.reset(new Gtk::Button(
|
detailBoxLabel = Gtk::manage(new Gtk::Label(
|
||||||
|
*getResourceUstring("detailBoxLabel")));
|
||||||
|
closeButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("closeButtonLabel")));
|
*getResourceUstring("closeButtonLabel")));
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
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
|
// set up the close button
|
||||||
closeButton->set_name("closeButton");
|
closeButton->set_name("closeButton");
|
||||||
closeButton->set_flags(CAN_FOCUS|CAN_DEFAULT|HAS_DEFAULT);
|
closeButton->set_flags(CAN_FOCUS|CAN_DEFAULT|HAS_DEFAULT);
|
||||||
|
@ -91,33 +103,33 @@ PlaylistListWindow :: PlaylistListWindow (
|
||||||
set_default_size(400, 200);
|
set_default_size(400, 200);
|
||||||
|
|
||||||
// set up the main box
|
// set up the main box
|
||||||
add(mainBox);
|
add(*mainBox);
|
||||||
mainBox.pack_start(playlistBox);
|
mainBox->pack_start(*playlistBox);
|
||||||
mainBox.pack_start(buttonBox, PACK_SHRINK);
|
mainBox->pack_start(*buttonBox, PACK_SHRINK);
|
||||||
|
|
||||||
// set up the playlist box
|
// set up the playlist box
|
||||||
playlistBox.pack_start(listBox, PACK_EXPAND_WIDGET, 5);
|
playlistBox->pack_start(*listBox, PACK_EXPAND_WIDGET, 5);
|
||||||
playlistBox.pack_start(detailBox, PACK_EXPAND_WIDGET, 5);
|
playlistBox->pack_start(*detailBox, PACK_EXPAND_WIDGET, 5);
|
||||||
|
|
||||||
// set up the listBox
|
// set up the listBox
|
||||||
listBox.pack_start(listBoxLabel, PACK_SHRINK);
|
listBox->pack_start(*listBoxLabel, PACK_SHRINK);
|
||||||
listBox.pack_start(listScrolledWindow);
|
listBox->pack_start(*listScrolledWindow);
|
||||||
|
|
||||||
// set up the listScrolledWindow
|
// set up the listScrolledWindow
|
||||||
listScrolledWindow.add(listTreeView);
|
listScrolledWindow->add(*listTreeView);
|
||||||
listScrolledWindow.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC);
|
listScrolledWindow->set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC);
|
||||||
|
|
||||||
// create the list tree view, and add its columns
|
// create the list tree view, and add its columns
|
||||||
listTreeModel = ListStore::create(modelColumns);
|
listTreeModel = ListStore::create(modelColumns);
|
||||||
listTreeView.set_model(listTreeModel);
|
listTreeView->set_model(listTreeModel);
|
||||||
try {
|
try {
|
||||||
listTreeView.append_column(*getResourceUstring("idColumnLabel"),
|
listTreeView->append_column(*getResourceUstring("idColumnLabel"),
|
||||||
modelColumns.idColumn);
|
modelColumns.idColumn);
|
||||||
listTreeView.append_column(*getResourceUstring("lengthColumnLabel"),
|
listTreeView->append_column(*getResourceUstring("lengthColumnLabel"),
|
||||||
modelColumns.lengthColumn);
|
modelColumns.lengthColumn);
|
||||||
listTreeView.append_column(*getResourceUstring("uriColumnLabel"),
|
listTreeView->append_column(*getResourceUstring("uriColumnLabel"),
|
||||||
modelColumns.uriColumn);
|
modelColumns.uriColumn);
|
||||||
listTreeView.append_column(*getResourceUstring("tokenColumnLabel"),
|
listTreeView->append_column(*getResourceUstring("tokenColumnLabel"),
|
||||||
modelColumns.tokenColumn);
|
modelColumns.tokenColumn);
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
std::cerr << e.what() << std::endl;
|
||||||
|
@ -125,29 +137,29 @@ PlaylistListWindow :: PlaylistListWindow (
|
||||||
|
|
||||||
// attach the event handler for the user selecting a playlist from
|
// attach the event handler for the user selecting a playlist from
|
||||||
// the list of playlists
|
// the list of playlists
|
||||||
listTreeSelection = listTreeView.get_selection();
|
listTreeSelection = listTreeView->get_selection();
|
||||||
listTreeSelection->signal_changed().connect(
|
listTreeSelection->signal_changed().connect(
|
||||||
sigc::mem_fun(*this, &PlaylistListWindow::onPlaylistListSelection));
|
sigc::mem_fun(*this, &PlaylistListWindow::onPlaylistListSelection));
|
||||||
|
|
||||||
// set up the detailBox
|
// set up the detailBox
|
||||||
detailBox.pack_start(detailBoxLabel, PACK_SHRINK);
|
detailBox->pack_start(*detailBoxLabel, PACK_SHRINK);
|
||||||
detailBox.pack_start(detailScrolledWindow);
|
detailBox->pack_start(*detailScrolledWindow);
|
||||||
|
|
||||||
// set up the detailed scroll window
|
// set up the detailed scroll window
|
||||||
detailScrolledWindow.add(detailTreeView);
|
detailScrolledWindow->add(*detailTreeView);
|
||||||
detailScrolledWindow.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC);
|
detailScrolledWindow->set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC);
|
||||||
|
|
||||||
// create the detail tree view, and add its columns
|
// create the detail tree view, and add its columns
|
||||||
detailTreeModel = ListStore::create(modelColumns);
|
detailTreeModel = ListStore::create(modelColumns);
|
||||||
detailTreeView.set_model(detailTreeModel);
|
detailTreeView->set_model(detailTreeModel);
|
||||||
try {
|
try {
|
||||||
detailTreeView.append_column(*getResourceUstring("idColumnLabel"),
|
detailTreeView->append_column(*getResourceUstring("idColumnLabel"),
|
||||||
modelColumns.idColumn);
|
modelColumns.idColumn);
|
||||||
detailTreeView.append_column(*getResourceUstring("lengthColumnLabel"),
|
detailTreeView->append_column(*getResourceUstring("lengthColumnLabel"),
|
||||||
modelColumns.lengthColumn);
|
modelColumns.lengthColumn);
|
||||||
detailTreeView.append_column(*getResourceUstring("uriColumnLabel"),
|
detailTreeView->append_column(*getResourceUstring("uriColumnLabel"),
|
||||||
modelColumns.uriColumn);
|
modelColumns.uriColumn);
|
||||||
detailTreeView.append_column(*getResourceUstring("tokenColumnLabel"),
|
detailTreeView->append_column(*getResourceUstring("tokenColumnLabel"),
|
||||||
modelColumns.tokenColumn);
|
modelColumns.tokenColumn);
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
std::cerr << e.what() << std::endl;
|
||||||
|
@ -155,14 +167,14 @@ PlaylistListWindow :: PlaylistListWindow (
|
||||||
|
|
||||||
// attach the event handler for the user selecting an entry from
|
// attach the event handler for the user selecting an entry from
|
||||||
// the list of playlist details
|
// the list of playlist details
|
||||||
detailTreeSelection = detailTreeView.get_selection();
|
detailTreeSelection = detailTreeView->get_selection();
|
||||||
detailTreeSelection->signal_changed().connect(
|
detailTreeSelection->signal_changed().connect(
|
||||||
sigc::mem_fun(*this, &PlaylistListWindow::onDetailSelection));
|
sigc::mem_fun(*this, &PlaylistListWindow::onDetailSelection));
|
||||||
|
|
||||||
// set up the button box
|
// set up the button box
|
||||||
buttonBox.pack_start(*closeButton, PACK_SHRINK);
|
buttonBox->pack_start(*closeButton, PACK_SHRINK);
|
||||||
buttonBox.set_border_width(5);
|
buttonBox->set_border_width(5);
|
||||||
buttonBox.set_layout(BUTTONBOX_END);
|
buttonBox->set_layout(BUTTONBOX_END);
|
||||||
|
|
||||||
showAllPlaylists();
|
showAllPlaylists();
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/Attic/PlaylistListWindow.h,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -84,7 +84,7 @@ using namespace LiveSupport::Core;
|
||||||
* </pre></code>
|
* </pre></code>
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.4 $
|
* @version $Revision: 1.5 $
|
||||||
*/
|
*/
|
||||||
class PlaylistListWindow : public Gtk::Window, public LocalizedObject
|
class PlaylistListWindow : public Gtk::Window, public LocalizedObject
|
||||||
{
|
{
|
||||||
|
@ -120,7 +120,7 @@ class PlaylistListWindow : public Gtk::Window, public LocalizedObject
|
||||||
* Lists one playlist per row.
|
* Lists one playlist per row.
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.4 $
|
* @version $Revision: 1.5 $
|
||||||
*/
|
*/
|
||||||
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
||||||
{
|
{
|
||||||
|
@ -171,36 +171,36 @@ class PlaylistListWindow : public Gtk::Window, public LocalizedObject
|
||||||
/**
|
/**
|
||||||
* The main container in the window.
|
* The main container in the window.
|
||||||
*/
|
*/
|
||||||
Gtk::VBox mainBox;
|
Gtk::VBox * mainBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The container holding the two boxes for playlist viewing:
|
* The container holding the two boxes for playlist viewing:
|
||||||
* one lists the playlist, the other the details of the selected
|
* one lists the playlist, the other the details of the selected
|
||||||
* playlist.
|
* playlist.
|
||||||
*/
|
*/
|
||||||
Gtk::HBox playlistBox;
|
Gtk::HBox * playlistBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The container holding the playlist list tree view and accompanying
|
* The container holding the playlist list tree view and accompanying
|
||||||
* label.
|
* label.
|
||||||
*/
|
*/
|
||||||
Gtk::VBox listBox;
|
Gtk::VBox * listBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The label for listBox.
|
* The label for listBox.
|
||||||
*/
|
*/
|
||||||
Gtk::Label listBoxLabel;
|
Gtk::Label * listBoxLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scrolled window holding the list of playlists
|
* A scrolled window holding the list of playlists
|
||||||
* so that the list can be scrolled.
|
* so that the list can be scrolled.
|
||||||
*/
|
*/
|
||||||
Gtk::ScrolledWindow listScrolledWindow;
|
Gtk::ScrolledWindow * listScrolledWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A tree view, showing rows only, the list of playlists.
|
* 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
|
* 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
|
* The container holding the playlist detail tree view and accompanying
|
||||||
* label.
|
* label.
|
||||||
*/
|
*/
|
||||||
Gtk::VBox detailBox;
|
Gtk::VBox * detailBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The label for detailBox.
|
* The label for detailBox.
|
||||||
*/
|
*/
|
||||||
Gtk::Label detailBoxLabel;
|
Gtk::Label * detailBoxLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scrolled window holding the details of a playlist
|
* A scrolled window holding the details of a playlist
|
||||||
* so that the details can be scrolled.
|
* so that the details can be scrolled.
|
||||||
*/
|
*/
|
||||||
Gtk::ScrolledWindow detailScrolledWindow;
|
Gtk::ScrolledWindow * detailScrolledWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A tree view, showing rows only, the details of the selected
|
* A tree view, showing rows only, the details of the selected
|
||||||
* playlist.
|
* playlist.
|
||||||
*/
|
*/
|
||||||
Gtk::TreeView detailTreeView;
|
Gtk::TreeView * detailTreeView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The tree model, as a GTK reference, holding the details of a
|
* 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.
|
* The box containing the close button.
|
||||||
*/
|
*/
|
||||||
Gtk::HButtonBox buttonBox;
|
Gtk::HButtonBox * buttonBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The close button.
|
* The close button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref closeButton;
|
Gtk::Button * closeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal to catch the event of the user selecting a row
|
* Signal to catch the event of the user selecting a row
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -72,23 +72,25 @@ SchedulePlaylistWindow :: SchedulePlaylistWindow (
|
||||||
|
|
||||||
try {
|
try {
|
||||||
set_title(*getResourceUstring("windowTitle"));
|
set_title(*getResourceUstring("windowTitle"));
|
||||||
hourLabel.reset(new Gtk::Label(*getResourceUstring("hourLabel")));
|
hourLabel = Gtk::manage(new Gtk::Label(*getResourceUstring(
|
||||||
minuteLabel.reset(new Gtk::Label(*getResourceUstring("minuteLabel")));
|
"hourLabel")));
|
||||||
scheduleButton.reset(new Gtk::Button(
|
minuteLabel = Gtk::manage(new Gtk::Label(*getResourceUstring(
|
||||||
|
"minuteLabel")));
|
||||||
|
scheduleButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("scheduleButtonLabel")));
|
*getResourceUstring("scheduleButtonLabel")));
|
||||||
closeButton.reset(new Gtk::Button(
|
closeButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("closeButtonLabel")));
|
*getResourceUstring("closeButtonLabel")));
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
std::cerr << e.what() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
playlistLabel.reset(new Gtk::Label(*playlist->getTitle()));
|
playlistLabel = Gtk::manage(new Gtk::Label(*playlist->getTitle()));
|
||||||
calendar.reset(new Gtk::Calendar());
|
calendar = Gtk::manage(new Gtk::Calendar());
|
||||||
hourEntry.reset(new Gtk::Entry());
|
hourEntry = Gtk::manage(new Gtk::Entry());
|
||||||
minuteEntry.reset(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(*playlistLabel, 0, 4, 0, 1);
|
||||||
layout->attach(*calendar, 0, 4, 1, 2);
|
layout->attach(*calendar, 0, 4, 1, 2);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulePlaylistWindow.h,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -84,7 +84,7 @@ using namespace LiveSupport::Core;
|
||||||
* </pre></code>
|
* </pre></code>
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.1 $
|
* @version $Revision: 1.2 $
|
||||||
*/
|
*/
|
||||||
class SchedulePlaylistWindow : public Gtk::Window, public LocalizedObject
|
class SchedulePlaylistWindow : public Gtk::Window, public LocalizedObject
|
||||||
{
|
{
|
||||||
|
@ -104,47 +104,47 @@ class SchedulePlaylistWindow : public Gtk::Window, public LocalizedObject
|
||||||
/**
|
/**
|
||||||
* The main container in the window.
|
* The main container in the window.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Table>::Ref layout;
|
Gtk::Table * layout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The label displaying the name of the playlist to schedule.
|
* The label displaying the name of the playlist to schedule.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Label>::Ref playlistLabel;
|
Gtk::Label * playlistLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The calendar to select a specific date from.
|
* The calendar to select a specific date from.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Calendar>::Ref calendar;
|
Gtk::Calendar * calendar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The hour label.
|
* The hour label.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Label>::Ref hourLabel;
|
Gtk::Label * hourLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The entry field for hour.
|
* The entry field for hour.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Entry>::Ref hourEntry;
|
Gtk::Entry * hourEntry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The minute label.
|
* The minute label.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Label>::Ref minuteLabel;
|
Gtk::Label * minuteLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The minute entry field.
|
* The minute entry field.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Entry>::Ref minuteEntry;
|
Gtk::Entry * minuteEntry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The schedule button.
|
* The schedule button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref scheduleButton;
|
Gtk::Button * scheduleButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The close button.
|
* The close button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref closeButton;
|
Gtk::Button * closeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal handler for the schedule button clicked.
|
* Signal handler for the schedule button clicked.
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulerWindow.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -69,19 +69,19 @@ SchedulerWindow :: SchedulerWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
|
||||||
|
|
||||||
try {
|
try {
|
||||||
set_title(*getResourceUstring("windowTitle"));
|
set_title(*getResourceUstring("windowTitle"));
|
||||||
closeButton.reset(new Gtk::Button(
|
closeButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("closeButtonLabel")));
|
*getResourceUstring("closeButtonLabel")));
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
std::cerr << e.what() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
calendar.reset(new Gtk::Calendar());
|
calendar = Gtk::manage(new Gtk::Calendar());
|
||||||
dateLabel.reset(new Gtk::Label());
|
dateLabel = Gtk::manage(new Gtk::Label());
|
||||||
|
|
||||||
// create the tree view for the entries
|
// create the tree view for the entries
|
||||||
entryColumns.reset(new ModelColumns());
|
entryColumns.reset(new ModelColumns());
|
||||||
entriesModel = Gtk::ListStore::create(*entryColumns);
|
entriesModel = Gtk::ListStore::create(*entryColumns);
|
||||||
entriesView.reset(new Gtk::TreeView());
|
entriesView = Gtk::manage(new Gtk::TreeView());
|
||||||
entriesView->set_model(entriesModel);
|
entriesView->set_model(entriesModel);
|
||||||
|
|
||||||
// Add the TreeView's view columns:
|
// Add the TreeView's view columns:
|
||||||
|
@ -101,7 +101,7 @@ SchedulerWindow :: SchedulerWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
|
||||||
&SchedulerWindow::onEntryClicked));
|
&SchedulerWindow::onEntryClicked));
|
||||||
|
|
||||||
// create the right-click entry context menu for audio clips
|
// 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();
|
Gtk::Menu::MenuList& menuList = entryMenu->items();
|
||||||
// register the signal handlers for the popup menu
|
// register the signal handlers for the popup menu
|
||||||
menuList.push_back(Gtk::Menu_Helpers::MenuElem(
|
menuList.push_back(Gtk::Menu_Helpers::MenuElem(
|
||||||
|
@ -110,7 +110,7 @@ SchedulerWindow :: SchedulerWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
|
||||||
&SchedulerWindow::onDeleteItem)));
|
&SchedulerWindow::onDeleteItem)));
|
||||||
entryMenu->accelerate(*this);
|
entryMenu->accelerate(*this);
|
||||||
|
|
||||||
layout.reset(new Gtk::Table());
|
layout = Gtk::manage(new Gtk::Table());
|
||||||
|
|
||||||
layout->attach(*calendar, 0, 1, 0, 1);
|
layout->attach(*calendar, 0, 1, 0, 1);
|
||||||
layout->attach(*dateLabel, 0, 1, 1, 2);
|
layout->attach(*dateLabel, 0, 1, 1, 2);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SchedulerWindow.h,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -88,7 +88,7 @@ using namespace LiveSupport::Core;
|
||||||
* </pre></code>
|
* </pre></code>
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.2 $
|
* @version $Revision: 1.3 $
|
||||||
*/
|
*/
|
||||||
class SchedulerWindow : public Gtk::Window, public LocalizedObject
|
class SchedulerWindow : public Gtk::Window, public LocalizedObject
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ class SchedulerWindow : public Gtk::Window, public LocalizedObject
|
||||||
* Lists one scheduled item per row.
|
* Lists one scheduled item per row.
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.2 $
|
* @version $Revision: 1.3 $
|
||||||
*/
|
*/
|
||||||
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
||||||
{
|
{
|
||||||
|
@ -151,17 +151,17 @@ class SchedulerWindow : public Gtk::Window, public LocalizedObject
|
||||||
/**
|
/**
|
||||||
* The main container in the window.
|
* The main container in the window.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Table>::Ref layout;
|
Gtk::Table * layout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The calendar to select a specific date from.
|
* The calendar to select a specific date from.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Calendar>::Ref calendar;
|
Gtk::Calendar * calendar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The label saying which day is being displayed.
|
* The label saying which day is being displayed.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Label>::Ref dateLabel;
|
Gtk::Label * dateLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The column model.
|
* 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
|
* The tree view, now only showing rows, each scheduled entry for a
|
||||||
* specific day.
|
* specific day.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::TreeView>::Ref entriesView;
|
Gtk::TreeView * entriesView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The tree model, as a GTK reference.
|
* 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.
|
* The right-click context menu for schedule entries.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Menu>::Ref entryMenu;
|
Gtk::Menu * entryMenu;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The close button.
|
* The close button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref closeButton;
|
Gtk::Button * closeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal handler for when a date is selected in the calendar.
|
* Signal handler for when a date is selected in the calendar.
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -68,18 +68,19 @@ SimplePlaylistManagementWindow :: SimplePlaylistManagementWindow (
|
||||||
|
|
||||||
try {
|
try {
|
||||||
set_title(*getResourceUstring("windowTitle"));
|
set_title(*getResourceUstring("windowTitle"));
|
||||||
nameLabel.reset(new Gtk::Label(*getResourceUstring("nameLabel")));
|
nameLabel = Gtk::manage(new Gtk::Label(*getResourceUstring(
|
||||||
saveButton.reset(new Gtk::Button(
|
"nameLabel")));
|
||||||
|
saveButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("saveButtonLabel")));
|
*getResourceUstring("saveButtonLabel")));
|
||||||
closeButton.reset(new Gtk::Button(
|
closeButton = Gtk::manage(new Gtk::Button(
|
||||||
*getResourceUstring("closeButtonLabel")));
|
*getResourceUstring("closeButtonLabel")));
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << e.what() << std::endl;
|
std::cerr << e.what() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
nameEntry.reset(new Gtk::Entry());
|
nameEntry = Gtk::manage(new Gtk::Entry());
|
||||||
entriesScrolledWindow.reset(new Gtk::ScrolledWindow());
|
entriesScrolledWindow = Gtk::manage(new Gtk::ScrolledWindow());
|
||||||
entriesView.reset(new Gtk::TreeView());
|
entriesView = Gtk::manage(new Gtk::TreeView());
|
||||||
|
|
||||||
// set up the entry scrolled window, with the entry treeview inside.
|
// set up the entry scrolled window, with the entry treeview inside.
|
||||||
entriesScrolledWindow->add(*entriesView);
|
entriesScrolledWindow->add(*entriesView);
|
||||||
|
@ -102,10 +103,10 @@ SimplePlaylistManagementWindow :: SimplePlaylistManagementWindow (
|
||||||
std::cerr << e.what() << std::endl;
|
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
|
// set up the layout
|
||||||
layout.reset(new Gtk::Table());
|
layout = Gtk::manage(new Gtk::Table());
|
||||||
|
|
||||||
set_border_width(10);
|
set_border_width(10);
|
||||||
layout->attach(*nameLabel, 0, 1, 0, 1);
|
layout->attach(*nameLabel, 0, 1, 0, 1);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/SimplePlaylistManagementWindow.h,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -83,7 +83,7 @@ using namespace LiveSupport::Core;
|
||||||
* </code></pre>
|
* </code></pre>
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.2 $
|
* @version $Revision: 1.3 $
|
||||||
*/
|
*/
|
||||||
class SimplePlaylistManagementWindow : public Gtk::Window,
|
class SimplePlaylistManagementWindow : public Gtk::Window,
|
||||||
public LocalizedObject
|
public LocalizedObject
|
||||||
|
@ -96,7 +96,7 @@ class SimplePlaylistManagementWindow : public Gtk::Window,
|
||||||
* Lists one playlist entry per row.
|
* Lists one playlist entry per row.
|
||||||
*
|
*
|
||||||
* @author $Author: maroy $
|
* @author $Author: maroy $
|
||||||
* @version $Revision: 1.2 $
|
* @version $Revision: 1.3 $
|
||||||
*/
|
*/
|
||||||
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
||||||
{
|
{
|
||||||
|
@ -147,27 +147,27 @@ class SimplePlaylistManagementWindow : public Gtk::Window,
|
||||||
/**
|
/**
|
||||||
* The layout used in the window.
|
* The layout used in the window.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Table>::Ref layout;
|
Gtk::Table * layout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The label for the name entry.
|
* The label for the name entry.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Label>::Ref nameLabel;
|
Gtk::Label * nameLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The test input entry for the name of the playlist.
|
* The test input entry for the name of the playlist.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Entry>::Ref nameEntry;
|
Gtk::Entry * nameEntry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scrolled window, so that the entry list can be scrolled.
|
* A scrolled window, so that the entry list can be scrolled.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::ScrolledWindow>::Ref entriesScrolledWindow;
|
Gtk::ScrolledWindow * entriesScrolledWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The entry tree view, now only showing rows.
|
* The entry tree view, now only showing rows.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::TreeView>::Ref entriesView;
|
Gtk::TreeView * entriesView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The entry tree model, as a GTK reference.
|
* The entry tree model, as a GTK reference.
|
||||||
|
@ -177,17 +177,17 @@ class SimplePlaylistManagementWindow : public Gtk::Window,
|
||||||
/**
|
/**
|
||||||
* The save button.
|
* The save button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref saveButton;
|
Gtk::Button * saveButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The close button.
|
* The close button.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Button>::Ref closeButton;
|
Gtk::Button * closeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The status bar.
|
* The status bar.
|
||||||
*/
|
*/
|
||||||
Ptr<Gtk::Label>::Ref statusBar;
|
Gtk::Label * statusBar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal handler for the save button clicked.
|
* Signal handler for the save button clicked.
|
||||||
|
|
|
@ -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 <iostream>
|
|
||||||
#include <unicode/msgfmt.h>
|
|
||||||
#include <gtkmm/main.h>
|
|
||||||
#include <gtkmm/messagedialog.h>
|
|
||||||
|
|
||||||
#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<GLiveSupport>::Ref gLiveSupport,
|
|
||||||
Ptr<ResourceBundle>::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<bool> 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<ResourceBundle>::Ref loginBundle;
|
|
||||||
try {
|
|
||||||
loginBundle = getBundle("loginWindow");
|
|
||||||
} catch (std::invalid_argument &e) {
|
|
||||||
std::cerr << e.what() << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ptr<LoginWindow>::Ref loginWindow(new LoginWindow(gLiveSupport,
|
|
||||||
loginBundle));
|
|
||||||
|
|
||||||
Gtk::Main::run(*loginWindow);
|
|
||||||
|
|
||||||
Ptr<const Glib::ustring>::Ref login = loginWindow->getLogin();
|
|
||||||
Ptr<const Glib::ustring>::Ref password = loginWindow->getPassword();
|
|
||||||
|
|
||||||
bool loggedIn = gLiveSupport->login(login->raw(), password->raw());
|
|
||||||
|
|
||||||
if (loggedIn) {
|
|
||||||
Ptr<UnicodeString>::Ref uLogin = ustringToUnicodeString(login);
|
|
||||||
Formattable arguments[] = { *uLogin };
|
|
||||||
Ptr<Glib::ustring>::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<const ptime>::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<ResourceBundle>::Ref bundle;
|
|
||||||
try {
|
|
||||||
bundle = getBundle("audioClipListWindow");
|
|
||||||
} catch (std::invalid_argument &e) {
|
|
||||||
std::cerr << e.what() << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ptr<AudioClipListWindow>::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<ResourceBundle>::Ref bundle;
|
|
||||||
try {
|
|
||||||
bundle = getBundle("playlistListWindow");
|
|
||||||
} catch (std::invalid_argument &e) {
|
|
||||||
std::cerr << e.what() << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ptr<PlaylistListWindow>::Ref playlistListWindow(
|
|
||||||
new PlaylistListWindow(gLiveSupport, bundle));
|
|
||||||
|
|
||||||
Gtk::Main::run(*playlistListWindow);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -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 <gtkmm/button.h>
|
|
||||||
#include <gtkmm/buttonbox.h>
|
|
||||||
#include <gtkmm/window.h>
|
|
||||||
|
|
||||||
#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<Gtk::VButtonBox>::Ref layout;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A label to display the status of the user.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Label>::Ref statusLabel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A label showing the current time, with second precision.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Label>::Ref timeLabel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The signal connection, that is notified by the GTK timer each
|
|
||||||
* second, and will update timeLabel on each wakeup.
|
|
||||||
*/
|
|
||||||
Ptr<sigc::connection>::Ref timer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The to quit the applicaiton.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Button>::Ref quitButton;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The button invoking the LoginWindow.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Button>::Ref loginButton;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The button to log out.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Button>::Ref logoutButton;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The button to that brings up the audio clip list window.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Button>::Ref audioClipListButton;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The button to that brings up the playlist list window.
|
|
||||||
*/
|
|
||||||
Ptr<Gtk::Button>::Ref playlistListButton;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The gLiveSupport object, handling the logic of the application.
|
|
||||||
*/
|
|
||||||
Ptr<GLiveSupport>::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<GLiveSupport>::Ref gLiveSupport,
|
|
||||||
Ptr<ResourceBundle>::Ref bundle)
|
|
||||||
throw ();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Virtual destructor.
|
|
||||||
*/
|
|
||||||
virtual
|
|
||||||
~UiTestMainWindow(void) throw ();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ================================================= external data structures */
|
|
||||||
|
|
||||||
|
|
||||||
/* ====================================================== function prototypes */
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace GLiveSupport
|
|
||||||
} // namespace LiveSupport
|
|
||||||
|
|
||||||
#endif // UiTestMainWindow_h
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: maroy $
|
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 $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/gLiveSupport/src/main.cxx,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -132,21 +132,21 @@ int main ( int argc,
|
||||||
|
|
||||||
case 'h':
|
case 'h':
|
||||||
printUsage(argv[0], std::cout);
|
printUsage(argv[0], std::cout);
|
||||||
exit(EXIT_SUCCESS);
|
return 0;
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
printVersion(std::cout);
|
printVersion(std::cout);
|
||||||
exit(EXIT_SUCCESS);
|
return 0;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printUsage(argv[0], std::cout);
|
printUsage(argv[0], std::cout);
|
||||||
exit(EXIT_FAILURE);
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (optind != argc) {
|
if (optind != argc) {
|
||||||
printUsage(argv[0], std::cout);
|
printUsage(argv[0], std::cout);
|
||||||
exit(EXIT_FAILURE);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cerr << "using config file '" << configFileName << '\'' << std::endl;
|
std::cerr << "using config file '" << configFileName << '\'' << std::endl;
|
||||||
|
@ -162,16 +162,16 @@ int main ( int argc,
|
||||||
} catch (std::invalid_argument &e) {
|
} catch (std::invalid_argument &e) {
|
||||||
std::cerr << "semantic error in configuration file" << std::endl
|
std::cerr << "semantic error in configuration file" << std::endl
|
||||||
<< e.what() << std::endl;
|
<< e.what() << std::endl;
|
||||||
exit(EXIT_FAILURE);
|
return 1;
|
||||||
} catch (xmlpp::exception &e) {
|
} catch (xmlpp::exception &e) {
|
||||||
std::cerr << "error parsing configuration file" << std::endl
|
std::cerr << "error parsing configuration file" << std::endl
|
||||||
<< e.what() << std::endl;
|
<< e.what() << std::endl;
|
||||||
exit(EXIT_FAILURE);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
gLiveSupport->show();
|
gLiveSupport->show();
|
||||||
|
|
||||||
exit(EXIT_SUCCESS);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue