added first version of huge play button in Live Mode (does not do anything yet)

This commit is contained in:
fgerlits 2005-05-05 16:25:57 +00:00
parent 8dfa5a9f54
commit 76939ade97
8 changed files with 95 additions and 22 deletions

View file

@ -21,8 +21,8 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Author : $Author: maroy $
Version : $Revision: 1.2 $
Author : $Author: fgerlits $
Version : $Revision: 1.3 $
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/widgets/include/LiveSupport/Widgets/ImageButton.h,v $
------------------------------------------------------------------------------*/
@ -59,8 +59,8 @@ namespace Widgets {
* The button is fixed in size, which is determined by the images used
* to represent it.
*
* @author $Author: maroy $
* @version $Revision: 1.2 $
* @author $Author: fgerlits $
* @version $Revision: 1.3 $
*/
class ImageButton : public Gtk::Button
{
@ -241,6 +241,19 @@ class ImageButton : public Gtk::Button
*/
virtual
~ImageButton(void) throw ();
/**
* Return the passive image of this button.
* This is used by ZebraTreeView::addColumn(), but should be
* removed later.
*
* @return a pointer to the image.
*/
Glib::RefPtr<Gdk::Pixbuf>
getPassiveImage(void) throw ()
{
return passiveImage;
}
};

View file

@ -22,7 +22,7 @@
Author : $Author: fgerlits $
Version : $Revision: 1.17 $
Version : $Revision: 1.18 $
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/widgets/include/LiveSupport/Widgets/WidgetFactory.h,v $
------------------------------------------------------------------------------*/
@ -52,7 +52,6 @@
#include "LiveSupport/Widgets/ComboBoxText.h"
#include "LiveSupport/Widgets/BlueBin.h"
#include "LiveSupport/Widgets/EntryBin.h"
#include "LiveSupport/Widgets/ZebraTreeView.h"
namespace LiveSupport {
@ -69,6 +68,7 @@ using namespace LiveSupport::Core;
/* =============================================================== data types */
class WhiteWindow;
class ZebraTreeView;
/**
* A factory to provide access to LiveSupport Widgets.
@ -89,7 +89,7 @@ class WhiteWindow;
* </code></pre>
*
* @author $Author: fgerlits $
* @version $Revision: 1.17 $
* @version $Revision: 1.18 $
*/
class WidgetFactory :
virtual public Configurable

View file

@ -22,7 +22,7 @@
Author : $Author: fgerlits $
Version : $Revision: 1.9 $
Version : $Revision: 1.10 $
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/widgets/include/LiveSupport/Widgets/ZebraTreeView.h,v $
------------------------------------------------------------------------------*/
@ -50,6 +50,7 @@
#include <gtkmm/window.h>
#include "LiveSupport/Core/Ptr.h"
#include "LiveSupport/Widgets/WidgetFactory.h"
#include "LiveSupport/Widgets/CornerImages.h"
#include "LiveSupport/Widgets/ImageButton.h"
#include "LiveSupport/Widgets/BlueBin.h"
@ -91,7 +92,7 @@ using namespace LiveSupport::Core;
* 3) connected with a TreeModelColumn using set_renderer().
*
* @author $Author: fgerlits $
* @version $Revision: 1.9 $
* @version $Revision: 1.10 $
*/
class ZebraTreeView : public Gtk::TreeView
{
@ -142,6 +143,21 @@ class ZebraTreeView : public Gtk::TreeView
const Gtk::TreeModelColumn<Glib::ustring>& modelColumn,
int minimumWidth = 0)
throw ();
/**
* Add a button column to the TreeView.
*
* @param title the title of the column
* @param buttonType the type of button this view will display
* @param minimumWidth the minimum width of the column, in pixels
* (optional)
* @return the number of columns after adding this one
*/
int
appendColumn(const Glib::ustring& title,
WidgetFactory::ImageButtonType buttonType,
int minimumWidth = 0)
throw ();
};

View file

@ -22,7 +22,7 @@
Author : $Author: fgerlits $
Version : $Revision: 1.19 $
Version : $Revision: 1.20 $
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/widgets/src/WidgetFactory.cxx,v $
------------------------------------------------------------------------------*/
@ -36,9 +36,11 @@
#include <gtkmm/entry.h>
#include "LiveSupport/Widgets/Colors.h"
#include "LiveSupport/Widgets/WidgetFactory.h"
#include "LiveSupport/Widgets/ZebraTreeView.h"
#include "MessageWindow.h"
#include "LiveSupport/Widgets/WidgetFactory.h"
using namespace LiveSupport::Core;
using namespace LiveSupport::Widgets;

View file

@ -22,7 +22,7 @@
Author : $Author: fgerlits $
Version : $Revision: 1.9 $
Version : $Revision: 1.10 $
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/widgets/src/ZebraTreeView.cxx,v $
------------------------------------------------------------------------------*/
@ -35,9 +35,7 @@
#include <iostream>
#include "LiveSupport/Widgets/WidgetFactory.h"
#include "LiveSupport/Widgets/ZebraTreeModelColumnRecord.h"
#include "LiveSupport/Widgets/ZebraCellRenderer.h"
#include "LiveSupport/Widgets/ZebraTreeView.h"
@ -108,6 +106,46 @@ ZebraTreeView :: appendColumn(
}
/*------------------------------------------------------------------------------
* Add a button column to the TreeView.
*----------------------------------------------------------------------------*/
int
ZebraTreeView :: appendColumn(
const Glib::ustring & title,
WidgetFactory::ImageButtonType buttonType,
int minimumWidth)
throw ()
{
Ptr<WidgetFactory>::Ref wf = WidgetFactory::getInstance();
ImageButton * button = Gtk::manage(wf->createButton(
buttonType ));
Glib::RefPtr<Gdk::Pixbuf> passiveImage = button->getPassiveImage();
// a standard cell renderer
Gtk::CellRendererPixbuf* renderer
= Gtk::manage(new Gtk::CellRendererPixbuf);
// set the image of the renderer
renderer->property_pixbuf() = passiveImage;
// the constructor packs the renderer into the TreeViewColumn
Gtk::TreeViewColumn* viewColumn = Gtk::manage(new
Gtk::TreeViewColumn(title, *renderer) );
// this cell data function will do the blue-gray zebra stripes
viewColumn->set_cell_data_func(
*renderer,
sigc::mem_fun(*this, &ZebraTreeView::cellDataFunction) );
// set the minimum width of the column
if (minimumWidth) {
viewColumn->set_min_width(minimumWidth);
}
return append_column(*viewColumn);
}
/*------------------------------------------------------------------------------
* The callback function.
*----------------------------------------------------------------------------*/