From e46df1577543a2835a66b62d118e2cc0148dceb8 Mon Sep 17 00:00:00 2001 From: fgerlits Date: Tue, 7 Aug 2007 09:52:10 +0000 Subject: [PATCH] decimated the Widgets module --- .../src/modules/widgets/etc/Makefile.in | 46 +- .../src/modules/widgets/etc/configure.ac | 2 +- .../include/LiveSupport/Widgets/BlueBin.h | 262 -------- .../include/LiveSupport/Widgets/Button.h | 351 ----------- .../LiveSupport/Widgets/ButtonImages.h | 221 ------- .../LiveSupport/Widgets/CornerImages.h | 193 ------ .../LiveSupport/Widgets/DialogWindow.h | 167 ----- .../include/LiveSupport/Widgets/EntryBin.h | 174 ------ .../include/LiveSupport/Widgets/ImageButton.h | 270 -------- .../LiveSupport/Widgets/MasterPanelBin.h | 121 ---- .../include/LiveSupport/Widgets/Notebook.h | 348 ----------- .../LiveSupport/Widgets/RadioButtons.h | 128 ---- .../LiveSupport/Widgets/ScrolledNotebook.h | 105 ---- .../LiveSupport/Widgets/ScrolledWindow.h | 123 ---- .../include/LiveSupport/Widgets/WhiteWindow.h | 397 ------------ .../LiveSupport/Widgets/WidgetConstants.h | 31 +- .../LiveSupport/Widgets/WidgetFactory.h | 252 +------- .../LiveSupport/Widgets/ZebraTreeView.h | 18 +- .../src/modules/widgets/src/BlueBin.cxx | 416 ------------- campcaster/src/modules/widgets/src/Button.cxx | 484 -------------- .../src/modules/widgets/src/ButtonImages.cxx | 162 ----- .../src/modules/widgets/src/CornerImages.cxx | 138 ---- .../src/modules/widgets/src/DialogWindow.cxx | 204 ------ .../src/modules/widgets/src/EntryBin.cxx | 86 --- .../src/modules/widgets/src/ImageButton.cxx | 331 ---------- .../modules/widgets/src/MasterPanelBin.cxx | 162 ----- .../src/modules/widgets/src/Notebook.cxx | 284 --------- .../src/modules/widgets/src/RadioButtons.cxx | 90 --- .../modules/widgets/src/ScrolledNotebook.cxx | 67 -- .../modules/widgets/src/ScrolledWindow.cxx | 94 --- .../src/modules/widgets/src/TestWindow.h | 65 +- .../src/modules/widgets/src/WhiteWindow.cxx | 417 ------------- .../src/modules/widgets/src/WidgetFactory.cxx | 588 +----------------- .../src/modules/widgets/src/ZebraTreeView.cxx | 41 +- .../modules/widgets/var/blueBin/bottom.png | Bin 2818 -> 0 bytes .../widgets/var/blueBin/bottomLeft.png | Bin 2830 -> 0 bytes .../widgets/var/blueBin/bottomRight.png | Bin 2827 -> 0 bytes .../src/modules/widgets/var/blueBin/left.png | Bin 2817 -> 0 bytes .../src/modules/widgets/var/blueBin/right.png | Bin 2817 -> 0 bytes .../src/modules/widgets/var/blueBin/top.png | Bin 2819 -> 0 bytes .../modules/widgets/var/blueBin/topLeft.png | Bin 2830 -> 0 bytes .../modules/widgets/var/blueBin/topRight.png | Bin 2830 -> 0 bytes .../src/modules/widgets/var/button/center.png | Bin 2891 -> 0 bytes .../modules/widgets/var/button/centerGray.png | Bin 2891 -> 0 bytes .../modules/widgets/var/button/centerRoll.png | Bin 2889 -> 0 bytes .../modules/widgets/var/button/centerSel.png | Bin 2896 -> 0 bytes .../src/modules/widgets/var/button/left.png | Bin 2988 -> 0 bytes .../modules/widgets/var/button/leftGray.png | Bin 2988 -> 0 bytes .../modules/widgets/var/button/leftRoll.png | Bin 2973 -> 0 bytes .../modules/widgets/var/button/leftSel.png | Bin 3100 -> 0 bytes .../src/modules/widgets/var/button/right.png | Bin 3077 -> 0 bytes .../modules/widgets/var/button/rightGray.png | Bin 3077 -> 0 bytes .../modules/widgets/var/button/rightRoll.png | Bin 3073 -> 0 bytes .../modules/widgets/var/button/rightSel.png | Bin 3096 -> 0 bytes .../src/modules/widgets/var/combo/center.png | Bin 2870 -> 0 bytes .../src/modules/widgets/var/combo/left.png | Bin 2933 -> 0 bytes .../src/modules/widgets/var/combo/right.png | Bin 3464 -> 0 bytes .../widgets/var/darkBlueBin/bottom.png | Bin 2817 -> 0 bytes .../widgets/var/darkBlueBin/bottomLeft.png | Bin 2830 -> 0 bytes .../widgets/var/darkBlueBin/bottomRight.png | Bin 2830 -> 0 bytes .../modules/widgets/var/darkBlueBin/left.png | Bin 2817 -> 0 bytes .../modules/widgets/var/darkBlueBin/right.png | Bin 2817 -> 0 bytes .../modules/widgets/var/darkBlueBin/top.png | Bin 2819 -> 0 bytes .../widgets/var/darkBlueBin/topLeft.png | Bin 2830 -> 0 bytes .../widgets/var/darkBlueBin/topRight.png | Bin 2830 -> 0 bytes .../modules/widgets/var/entryBin/bottom.png | Bin 143 -> 0 bytes .../widgets/var/entryBin/bottomLeft.png | Bin 176 -> 0 bytes .../widgets/var/entryBin/bottomRight.png | Bin 174 -> 0 bytes .../src/modules/widgets/var/entryBin/left.png | Bin 140 -> 0 bytes .../modules/widgets/var/entryBin/right.png | Bin 140 -> 0 bytes .../src/modules/widgets/var/entryBin/top.png | Bin 143 -> 0 bytes .../modules/widgets/var/entryBin/topLeft.png | Bin 173 -> 0 bytes .../modules/widgets/var/entryBin/topRight.png | Bin 172 -> 0 bytes .../widgets/var/imageButton/cuePlay.png | Bin 3708 -> 0 bytes .../widgets/var/imageButton/cuePlayRoll.png | Bin 3649 -> 0 bytes .../widgets/var/imageButton/cueStop.png | Bin 3497 -> 0 bytes .../widgets/var/imageButton/cueStopRoll.png | Bin 3493 -> 0 bytes .../widgets/var/imageButton/delete.png | Bin 3493 -> 0 bytes .../widgets/var/imageButton/deleteRoll.png | Bin 3480 -> 0 bytes .../widgets/var/imageButton/hugePlay.png | Bin 3658 -> 0 bytes .../widgets/var/imageButton/hugePlayRoll.png | Bin 3683 -> 0 bytes .../widgets/var/imageButton/masterPause.png | Bin 1079 -> 0 bytes .../var/imageButton/masterPauseRoll.png | Bin 1080 -> 0 bytes .../widgets/var/imageButton/masterPlay.png | Bin 1288 -> 0 bytes .../var/imageButton/masterPlayRoll.png | Bin 1280 -> 0 bytes .../widgets/var/imageButton/masterStop.png | Bin 1155 -> 0 bytes .../var/imageButton/masterStopRoll.png | Bin 1148 -> 0 bytes .../modules/widgets/var/imageButton/minus.png | Bin 3493 -> 0 bytes .../widgets/var/imageButton/minusRoll.png | Bin 3480 -> 0 bytes .../modules/widgets/var/imageButton/plus.png | Bin 3358 -> 0 bytes .../widgets/var/imageButton/plusRoll.png | Bin 3349 -> 0 bytes .../widgets/var/imageButton/smallPause.png | Bin 3320 -> 0 bytes .../var/imageButton/smallPauseRoll.png | Bin 3290 -> 0 bytes .../widgets/var/imageButton/smallPlay.png | Bin 3406 -> 0 bytes .../widgets/var/imageButton/smallPlayRoll.png | Bin 3393 -> 0 bytes .../widgets/var/imageButton/smallStop.png | Bin 3303 -> 0 bytes .../widgets/var/imageButton/smallStopRoll.png | Bin 3280 -> 0 bytes .../widgets/var/imageButton/windowClose.png | Bin 357 -> 0 bytes .../var/imageButton/windowCloseRoll.png | Bin 361 -> 0 bytes .../widgets/var/imageButton/windowMax.png | Bin 352 -> 0 bytes .../widgets/var/imageButton/windowMaxRoll.png | Bin 352 -> 0 bytes .../widgets/var/imageButton/windowMin.png | Bin 338 -> 0 bytes .../widgets/var/imageButton/windowMinRoll.png | Bin 333 -> 0 bytes .../modules/widgets/var/tabButton/center.png | Bin 173 -> 0 bytes .../widgets/var/tabButton/centerGray.png | Bin 173 -> 0 bytes .../widgets/var/tabButton/centerRoll.png | Bin 161 -> 0 bytes .../widgets/var/tabButton/centerSel.png | Bin 218 -> 0 bytes .../modules/widgets/var/tabButton/left.png | Bin 276 -> 0 bytes .../widgets/var/tabButton/leftGray.png | Bin 307 -> 0 bytes .../widgets/var/tabButton/leftRoll.png | Bin 253 -> 0 bytes .../modules/widgets/var/tabButton/leftSel.png | Bin 381 -> 0 bytes .../modules/widgets/var/tabButton/right.png | Bin 310 -> 0 bytes .../widgets/var/tabButton/rightGray.png | Bin 404 -> 0 bytes .../widgets/var/tabButton/rightRoll.png | Bin 314 -> 0 bytes .../widgets/var/tabButton/rightSel.png | Bin 439 -> 0 bytes .../widgets/var/whiteWindow/bottom.png | Bin 2834 -> 0 bytes .../widgets/var/whiteWindow/bottomLeft.png | Bin 2927 -> 0 bytes .../widgets/var/whiteWindow/bottomRight.png | Bin 2920 -> 0 bytes .../modules/widgets/var/whiteWindow/left.png | Bin 2826 -> 0 bytes .../widgets/var/whiteWindow/resize.png | Bin 3181 -> 0 bytes .../modules/widgets/var/whiteWindow/right.png | Bin 2825 -> 0 bytes .../modules/widgets/var/whiteWindow/top.png | Bin 2831 -> 0 bytes .../widgets/var/whiteWindow/topLeft.png | Bin 2908 -> 0 bytes .../widgets/var/whiteWindow/topRight.png | Bin 2942 -> 0 bytes .../var/whiteWindow/windowTitleLogo.png | Bin 664 -> 0 bytes 125 files changed, 45 insertions(+), 6793 deletions(-) delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/BlueBin.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/Button.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/ButtonImages.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/CornerImages.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/DialogWindow.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/EntryBin.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/ImageButton.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/MasterPanelBin.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/Notebook.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/RadioButtons.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledNotebook.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledWindow.h delete mode 100644 campcaster/src/modules/widgets/include/LiveSupport/Widgets/WhiteWindow.h delete mode 100644 campcaster/src/modules/widgets/src/BlueBin.cxx delete mode 100644 campcaster/src/modules/widgets/src/Button.cxx delete mode 100644 campcaster/src/modules/widgets/src/ButtonImages.cxx delete mode 100644 campcaster/src/modules/widgets/src/CornerImages.cxx delete mode 100644 campcaster/src/modules/widgets/src/DialogWindow.cxx delete mode 100644 campcaster/src/modules/widgets/src/EntryBin.cxx delete mode 100644 campcaster/src/modules/widgets/src/ImageButton.cxx delete mode 100644 campcaster/src/modules/widgets/src/MasterPanelBin.cxx delete mode 100644 campcaster/src/modules/widgets/src/Notebook.cxx delete mode 100644 campcaster/src/modules/widgets/src/RadioButtons.cxx delete mode 100644 campcaster/src/modules/widgets/src/ScrolledNotebook.cxx delete mode 100644 campcaster/src/modules/widgets/src/ScrolledWindow.cxx delete mode 100644 campcaster/src/modules/widgets/src/WhiteWindow.cxx delete mode 100644 campcaster/src/modules/widgets/var/blueBin/bottom.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/bottomLeft.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/bottomRight.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/left.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/right.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/top.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/topLeft.png delete mode 100644 campcaster/src/modules/widgets/var/blueBin/topRight.png delete mode 100644 campcaster/src/modules/widgets/var/button/center.png delete mode 100644 campcaster/src/modules/widgets/var/button/centerGray.png delete mode 100644 campcaster/src/modules/widgets/var/button/centerRoll.png delete mode 100644 campcaster/src/modules/widgets/var/button/centerSel.png delete mode 100644 campcaster/src/modules/widgets/var/button/left.png delete mode 100644 campcaster/src/modules/widgets/var/button/leftGray.png delete mode 100644 campcaster/src/modules/widgets/var/button/leftRoll.png delete mode 100644 campcaster/src/modules/widgets/var/button/leftSel.png delete mode 100644 campcaster/src/modules/widgets/var/button/right.png delete mode 100644 campcaster/src/modules/widgets/var/button/rightGray.png delete mode 100644 campcaster/src/modules/widgets/var/button/rightRoll.png delete mode 100644 campcaster/src/modules/widgets/var/button/rightSel.png delete mode 100644 campcaster/src/modules/widgets/var/combo/center.png delete mode 100644 campcaster/src/modules/widgets/var/combo/left.png delete mode 100644 campcaster/src/modules/widgets/var/combo/right.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/bottom.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/bottomLeft.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/bottomRight.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/left.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/right.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/top.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/topLeft.png delete mode 100644 campcaster/src/modules/widgets/var/darkBlueBin/topRight.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/bottom.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/bottomLeft.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/bottomRight.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/left.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/right.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/top.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/topLeft.png delete mode 100644 campcaster/src/modules/widgets/var/entryBin/topRight.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/cuePlay.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/cuePlayRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/cueStop.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/cueStopRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/delete.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/deleteRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/hugePlay.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/hugePlayRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/masterPause.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/masterPauseRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/masterPlay.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/masterPlayRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/masterStop.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/masterStopRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/minus.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/minusRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/plus.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/plusRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/smallPause.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/smallPauseRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/smallPlay.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/smallPlayRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/smallStop.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/smallStopRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/windowClose.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/windowCloseRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/windowMax.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/windowMaxRoll.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/windowMin.png delete mode 100644 campcaster/src/modules/widgets/var/imageButton/windowMinRoll.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/center.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/centerGray.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/centerRoll.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/centerSel.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/left.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/leftGray.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/leftRoll.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/leftSel.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/right.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/rightGray.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/rightRoll.png delete mode 100644 campcaster/src/modules/widgets/var/tabButton/rightSel.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/bottom.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/bottomLeft.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/bottomRight.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/left.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/resize.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/right.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/top.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/topLeft.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/topRight.png delete mode 100644 campcaster/src/modules/widgets/var/whiteWindow/windowTitleLogo.png diff --git a/campcaster/src/modules/widgets/etc/Makefile.in b/campcaster/src/modules/widgets/etc/Makefile.in index e736af92f..c8f746fe2 100644 --- a/campcaster/src/modules/widgets/etc/Makefile.in +++ b/campcaster/src/modules/widgets/etc/Makefile.in @@ -136,26 +136,13 @@ LDFLAGS = @LDFLAGS@ -pthread \ #------------------------------------------------------------------------------- # Dependencies #------------------------------------------------------------------------------- -WIDGETS_LIB_OBJS = ${TMP_DIR}/ImageButton.o \ - ${TMP_DIR}/Button.o \ - ${TMP_DIR}/BlueBin.o \ - ${TMP_DIR}/EntryBin.o \ - ${TMP_DIR}/WhiteWindow.o \ - ${TMP_DIR}/CornerImages.o \ - ${TMP_DIR}/ButtonImages.o \ - ${TMP_DIR}/ComboBoxText.o \ +WIDGETS_LIB_OBJS = ${TMP_DIR}/ComboBoxText.o \ ${TMP_DIR}/MetadataComboBoxText.o \ ${TMP_DIR}/OperatorComboBoxText.o \ - ${TMP_DIR}/Notebook.o \ ${TMP_DIR}/WidgetFactory.o \ - ${TMP_DIR}/ZebraTreeView.o \ - ${TMP_DIR}/ZebraCellRenderer.o \ ${TMP_DIR}/Colors.o \ - ${TMP_DIR}/DialogWindow.o \ - ${TMP_DIR}/ScrolledWindow.o \ - ${TMP_DIR}/ScrolledNotebook.o \ - ${TMP_DIR}/RadioButtons.o \ - ${TMP_DIR}/MasterPanelBin.o \ + ${TMP_DIR}/ZebraTreeView.o \ + ${TMP_DIR}/ZebraCellRenderer.o TEST_EXE_OBJS = ${TMP_DIR}/TestWindow.o \ ${TMP_DIR}/main.o @@ -204,34 +191,9 @@ install: all ${CP} ${INCLUDE_DIR}/LiveSupport/Widgets/*.h \ ${USR_INCLUDE_DIR}/LiveSupport/Widgets ${CP} ${WIDGETS_LIB_FILE} ${USR_LIB_DIR} - ${MKDIR} ${USR_VAR_DIR}/Campcaster/Widgets - ${MKDIR} ${USR_VAR_DIR}/Campcaster/Widgets/blueBin \ - ${USR_VAR_DIR}/Campcaster/Widgets/button \ - ${USR_VAR_DIR}/Campcaster/Widgets/combo \ - ${USR_VAR_DIR}/Campcaster/Widgets/darkBlueBin \ - ${USR_VAR_DIR}/Campcaster/Widgets/entryBin \ - ${USR_VAR_DIR}/Campcaster/Widgets/icons \ - ${USR_VAR_DIR}/Campcaster/Widgets/imageButton \ - ${USR_VAR_DIR}/Campcaster/Widgets/tabButton \ - ${USR_VAR_DIR}/Campcaster/Widgets/whiteWindow - ${CP} ${VAR_DIR}/blueBin/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/blueBin - ${CP} ${VAR_DIR}/button/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/button - ${CP} ${VAR_DIR}/combo/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/combo - ${CP} ${VAR_DIR}/darkBlueBin/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/darkBlueBin - ${CP} ${VAR_DIR}/entryBin/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/entryBin + ${MKDIR} ${USR_VAR_DIR}/Campcaster/Widgets/icons ${CP} ${VAR_DIR}/icons/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/icons - ${CP} ${VAR_DIR}/imageButton/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/imageButton - ${CP} ${VAR_DIR}/tabButton/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/tabButton - ${CP} ${VAR_DIR}/whiteWindow/*.png \ - ${USR_VAR_DIR}/Campcaster/Widgets/whiteWindow #------------------------------------------------------------------------------- diff --git a/campcaster/src/modules/widgets/etc/configure.ac b/campcaster/src/modules/widgets/etc/configure.ac index 17055aeff..8b643580d 100644 --- a/campcaster/src/modules/widgets/etc/configure.ac +++ b/campcaster/src/modules/widgets/etc/configure.ac @@ -37,7 +37,7 @@ AC_PREREQ(2.59) AC_COPYRIGHT([Copyright (c) 2004 Media Development Loan Fund under the GNU GPL]) AC_REVISION($Revision$) -AC_CONFIG_SRCDIR(../include/LiveSupport/Widgets/ImageButton.h) +AC_CONFIG_SRCDIR(../src/ComboBoxText.cxx) AC_CONFIG_HEADERS(configure.h) AC_PROG_CXX() diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/BlueBin.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/BlueBin.h deleted file mode 100644 index b7556adb2..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/BlueBin.h +++ /dev/null @@ -1,262 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_BlueBin_h -#define LiveSupport_Widgets_BlueBin_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Widgets/CornerImages.h" -#include "LiveSupport/Widgets/CornerBitmaps.h" -#include "LiveSupport/Widgets/Colors.h" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A container holding exactly one child, habing a light blue border to it. - * - * @author $Author$ - * @version $Revision$ - */ -class BlueBin : public Gtk::Bin -{ - protected: - /** - * Flag to indicate if the bin should try to make its border - * transparent (only where the border images are transparent, - * of course). - */ - bool transparentBorder; - - /** - * The Gdk::Window object, used to draw inside this button. - */ - Glib::RefPtr gdkWindow; - - /** - * The Graphics Context, used to draw. - */ - Glib::RefPtr gc; - - /** - * The widget contained inside this container. - */ - Gtk::Widget * child; - - /** - * The background color of the widget. - */ - Gdk::Color bgColor; - - /** - * The corner images. - */ - Ptr::Ref cornerImages; - - /** - * The corner bitmaps, for masking for transparency. - */ - Ptr::Ref cornerBitmaps; - - /** - * Default constructor. - */ - BlueBin(void) throw () - { - } - - /** - * Render an image. - * - * @param image the image to render - * @param x the x coordinate to render to - * @param y the y coordinate to render to - */ - void - renderImage(Glib::RefPtr image, - int x, - int y) throw (); - - /** - * Return the background color. - */ - const Gdk::Color & - getBgColor(void) const throw () - { - return bgColor; - } - - /** - * Handle the size request event. - * - * @param requisition the size request, also being the ouptut - * parameter. - */ - virtual void - on_size_request(Gtk::Requisition* requisition) - throw (); - - /** - * Handle the size allocate event. - * - * @param allocation the allocated size. - */ - virtual void - on_size_allocate(Gtk::Allocation& allocation) - throw (); - - /** - * Handle the map event. - */ - virtual void - on_map() throw (); - - /** - * Handle the unmap event. - */ - virtual void - on_unmap() throw (); - - /** - * Handle the realize event. - */ - virtual void - on_realize() throw (); - - /** - * Handle the unrealize event. - */ - virtual void - on_unrealize() throw (); - - /** - * Handle the expose event. - * - * @param event the actual expose event recieved. - * @return true if something was drawn (?) - */ - virtual bool - on_expose_event(GdkEventExpose* event) throw (); - - /** - * Execute a function on all children of this container. - * - * @param includeInternals true if the callback function should - * also be called on the internals, false otherwise. - * @param callback the callback function to execute on the children. - * @param callbackData the data passed to the callback function. - */ - virtual void - forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) - throw (); - - /** - * Handle the add event. - * - * @param child the child being added to the widget. - */ - virtual void - on_add(Gtk::Widget* child) throw (); - - /** - * Handle the remove event. - * - * @param child the child to remove from the widget. - */ - virtual void - on_remove(Gtk::Widget* child) throw (); - - /** - * Tell what kind of children this container accepts. - * - * @return the type of children this container accepts. - */ - virtual GtkType - child_type_vfunc() const throw (); - - - public: - /** - * Constructor, with only one state. - * - * @param backgroundColor the RGB value for the background color. - * @param cornerImages the corner images. - * @param transparentBorder flag to indicate if the widget should - * make its border transparent, where the border images - * are transparent themselves - */ - BlueBin(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages, - bool transparentBorder = false) - throw (); - - /** - * A virtual destructor. - */ - virtual - ~BlueBin(void) throw (); -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_BlueBin_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/Button.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/Button.h deleted file mode 100644 index 6c4416d76..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/Button.h +++ /dev/null @@ -1,351 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_Button_h -#define LiveSupport_Widgets_Button_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include -#include - -#include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Widgets/ButtonImages.h" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A button holding a text. - * - * @author $Author$ - * @version $Revision$ - */ -class Button : public Gtk::Button -{ - private: - /** - * The possible states of the button. - */ - typedef enum { passiveState, - rollState, - selectedState, - disabledState } State; - - /** - * The font definition used in the button. - */ - static const std::string fontDefinition; - - /** - * The Gdk::Window object, used to draw inside this button. - */ - Glib::RefPtr gdkWindow; - - /** - * The Graphics Context, used to draw. - */ - Glib::RefPtr gc; - - /** - * The widget inside the button. - */ - Gtk::Widget * child; - - /** - * The text label for the button. - */ - Glib::ustring label; - - /** - * The state of the button. - */ - State state; - - /** - * The non-interactive state of the button - * (not rollover -- either passive, selected or disabled) - */ - State stationaryState; - - /** - * Whether the button can be selected and unselected. - */ - bool useSelected; - - /** - * The button images. - */ - Ptr::Ref buttonImages; - - /** - * Default constructor. - */ - Button(void) throw () - { - } - - /** - * Mark the button 'dirty' and request a redraw. - * The button will be redrawn by the wm when it next goes into its - * idle loop (ie, not immediately, but very soon). - */ - void - requestRedraw(void) throw (); - - protected: - /** - * Handle the size request event. - * - * @param requisition the size request, also being the ouptut - * parameter. - */ - virtual void - on_size_request(Gtk::Requisition* requisition) - throw (); - - /** - * Handle the size allocate event. - * - * @param allocation the allocated size. - */ - virtual void - on_size_allocate(Gtk::Allocation& allocation) - throw (); - - /** - * Handle the map event. - */ - virtual void - on_map() throw (); - - /** - * Handle the unmap event. - */ - virtual void - on_unmap() throw (); - - /** - * Handle the realize event. - */ - virtual void - on_realize() throw (); - - /** - * Handle the unrealize event. - */ - virtual void - on_unrealize() throw (); - - /** - * Handle the expose event. - * - * @param event the actual expose event recieved. - * @return true if something was drawn (?) - */ - virtual bool - on_expose_event(GdkEventExpose* event) throw (); - - /** - * Execute a function on all children of this container. - * - * @param includeInternals true if the callback function should - * also be called on the internals, false otherwise. - * @param callback the callback function to execute on the children. - * @param callbackData the data passed to the callback function. - */ - virtual void - forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) - throw (); - - /** - * Handle the add event. - * - * @param child the child being added to the widget. - */ - virtual void - on_add(Gtk::Widget* child) throw (); - - /** - * Handle the remove event. - * - * @param child the child to remove from the widget. - */ - virtual void - on_remove(Gtk::Widget* child) throw (); - - /** - * Tell what kind of children this container accepts. - * - * @return the type of children this container accepts. - */ - virtual GtkType - child_type_vfunc() const throw (); - - /** - * Handle the event when the mouse enters the button area. - */ - virtual void - on_enter(void) throw (); - - /** - * Handle the event when the mouse leaves the button area. - */ - virtual void - on_leave(void) throw (); - - /** - * Handle the event when the button is clicked. - */ - virtual void - on_clicked(void) throw (); - - - public: - /** - * Constructor, with only one state. - * - * @param label the text to display in the button - * @param buttonImages the images of the button - */ - Button(const Glib::ustring & label, - Ptr::Ref buttonImages) throw (); - - /** - * Constructor, with only one state. - * - * @param child the widget that should be displayed inside the button. - * @param buttonImages the images of the button - */ - Button(Gtk::Widget & child, - Ptr::Ref buttonImages) throw (); - - /** - * A virtual destructor. - */ - virtual - ~Button(void) throw (); - - /** - * Set the label of the button. - * - * @param label the text the button should display. - */ - virtual void - set_label(const Glib::ustring & label) throw () - { - if (child && child->is_managed_()) { - // as the child is managed, unparent will delete it - child->unparent(); - } - this->label = label; - child = Gtk::manage(new Gtk::Label(label)); - child->modify_font(Pango::FontDescription(fontDefinition)); - child->set_parent(*this); - } - - /** - * Get the label of the button. - * - * @return the current label of the button. - */ - Glib::ustring - get_label(void) const throw () - { - return label; - } - - /** - * Change the state of the button to selected or not. - * This only has an effect if selection is enabled by setUseSelected(). - * - * @param toggle if 'true' then set to selected, - * if 'false' then set to unselected (passive). - * @see setUseSelected() - */ - void - setSelected(bool toggle) throw (); - - /** - * Enable or disable the setSelected() methods. - * The default is "false". - * - * @param toggle if 'true' then set to selected, - * if 'false' then set to unselected (passive). - * @see setSelected() - */ - void - setUseSelected(bool toggle) throw () - { - useSelected = toggle; - } - - /** - * Disable the button, or re-enable it. - * - * @param toggle if 'true' then disable the button, - * if 'false' then re-enable it (set to passive). - */ - void - setDisabled(bool toggle) throw (); -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_Button_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ButtonImages.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ButtonImages.h deleted file mode 100644 index e98c06285..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ButtonImages.h +++ /dev/null @@ -1,221 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_ButtonImages_h -#define LiveSupport_Widgets_ButtonImages_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "gdkmm/pixbuf.h" - - -namespace LiveSupport { -namespace Widgets { - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A helper class to hold a set of images related to buttons. - * - * @author $Author$ - * @version $Revision$ - */ -class ButtonImages -{ - private: - /** - * Load an image relative the path, and signal error if not found. - * - * @param path the path to find the image for. - * @param imageName the name of the image, relative to path - * @return the loaded image - * @exception std::invalid_argument if the image was not found - */ - Glib::RefPtr - loadImage(const std::string path, - const std::string imageName) - throw (std::invalid_argument); - - - public: - /** - * The passive left image for the button. - */ - Glib::RefPtr passiveImageLeft; - - /** - * The passive center image for the button. - */ - Glib::RefPtr passiveImageCenter; - - /** - * The passive right image for the button. - */ - Glib::RefPtr passiveImageRight; - - /** - * The rollover left image for the button. - */ - Glib::RefPtr rollImageLeft; - - /** - * The rollover center image for the button. - */ - Glib::RefPtr rollImageCenter; - - /** - * The rollover right image for the button. - */ - Glib::RefPtr rollImageRight; - - /** - * The selected left image for the button. - */ - Glib::RefPtr selectedImageLeft; - - /** - * The selected center image for the button. - */ - Glib::RefPtr selectedImageCenter; - - /** - * The selected right image for the button. - */ - Glib::RefPtr selectedImageRight; - - /** - * The disabled left image for the button. - */ - Glib::RefPtr disabledImageLeft; - - /** - * The disabled center image for the button. - */ - Glib::RefPtr disabledImageCenter; - - /** - * The disabled right image for the button. - */ - Glib::RefPtr disabledImageRight; - - /** - * The default constructor. - */ - ButtonImages(void) throw () - { - } - - /** - * Constructor with image references. - * If any of the images is not available, the result is undefined. - * - * @param passiveImageLeft the passive left image - * @param passiveImageCenter the passive center image - * @param passiveImageRight the passive right image - * @param rollImageLeft the left rollover image - * @param rollImageCenter the center rollover image - * @param rollImageRight the right rollover image - * @param selectedImageLeft the left rollover image - * @param selectedImageCenter the center rollover image - * @param selectedImageRight the right rollover image - */ - ButtonImages(Glib::RefPtr passiveImageLeft, - Glib::RefPtr passiveImageCenter, - Glib::RefPtr passiveImageRight, - Glib::RefPtr rollImageLeft, - Glib::RefPtr rollImageCenter, - Glib::RefPtr rollImageRight, - Glib::RefPtr selectedImageLeft, - Glib::RefPtr selectedImageCenter, - Glib::RefPtr selectedImageRight, - Glib::RefPtr disabledImageLeft, - Glib::RefPtr disabledImageCenter, - Glib::RefPtr disabledImageRight) - throw () - { - this->passiveImageLeft = passiveImageLeft; - this->passiveImageCenter = passiveImageCenter; - this->passiveImageRight = passiveImageRight; - this->rollImageLeft = rollImageLeft; - this->rollImageCenter = rollImageCenter; - this->rollImageRight = rollImageRight; - this->selectedImageLeft = selectedImageLeft; - this->selectedImageCenter = selectedImageCenter; - this->selectedImageRight = selectedImageRight; - this->disabledImageLeft = disabledImageLeft; - this->disabledImageCenter = disabledImageCenter; - this->disabledImageRight = disabledImageRight; - } - - /** - * Constructor based on a path, where all the images can be loaded - * from. - * - * @param path the path where all the images can be loaded from. - */ - ButtonImages(const std::string path) throw (); - - /** - * A virtual destructor, as this class has virtual functions. - */ - virtual - ~ButtonImages(void) throw () - { - } - -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_ButtonImages_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/CornerImages.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/CornerImages.h deleted file mode 100644 index 7c4ca0e18..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/CornerImages.h +++ /dev/null @@ -1,193 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_CornerImages_h -#define LiveSupport_Widgets_CornerImages_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "gdkmm/pixbuf.h" - - -namespace LiveSupport { -namespace Widgets { - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A helper class to hold a set of corner images. - * - * @author $Author$ - * @version $Revision$ - */ -class CornerImages -{ - private: - /** - * Load an image relative the path, and signal error if not found. - * - * @param path the path to find the image for. - * @param imageName the name of the image, relative to path - * @return the loaded image - * @exception std::invalid_argument if the image was not found - */ - Glib::RefPtr - loadImage(const std::string path, - const std::string imageName) - throw (std::invalid_argument); - - - public: - /** - * The top left image. - */ - Glib::RefPtr topLeftImage; - - /** - * The left image. - */ - Glib::RefPtr leftImage; - - /** - * The top image. - */ - Glib::RefPtr topImage; - - /** - * The top right image. - */ - Glib::RefPtr topRightImage; - - /** - * The right image. - */ - Glib::RefPtr rightImage; - - /** - * The bottom left image. - */ - Glib::RefPtr bottomLeftImage; - - /** - * The bottom image. - */ - Glib::RefPtr bottomImage; - - /** - * The bottom right image. - */ - Glib::RefPtr bottomRightImage; - - /** - * The default constructor. - */ - CornerImages(void) throw () - { - } - - /** - * Constructor with image references. - * If any of the images is not available, the result is undefined. - * - * @param topLeftImage the top left image of the border - * @param leftImage the left image of the border - * @param topImage the top image of the border - * @param topRightImage the top right image of the border - * @param rightImage the right image of the border - * @param bottomLeftImage the bottom left image of the border - * @param bottomImage the bottom image of the border - * @param bottomRightImage the bottom right image of the border - */ - CornerImages(Glib::RefPtr topLeftImage, - Glib::RefPtr leftImage, - Glib::RefPtr topImage, - Glib::RefPtr topRightImage, - Glib::RefPtr rightImage, - Glib::RefPtr bottomLeftImage, - Glib::RefPtr bottomImage, - Glib::RefPtr bottomRightImage) - throw () - { - this->topLeftImage = topLeftImage; - this->leftImage = leftImage; - this->topImage = topImage; - this->topRightImage = topRightImage; - this->rightImage = rightImage; - this->bottomLeftImage = bottomLeftImage; - this->bottomImage = bottomImage; - this->bottomRightImage = bottomRightImage; - } - - /** - * Constructor based on a path, where all the images can be loaded - * from. - * - * @param path the path where all the images can be loaded from. - */ - CornerImages(const std::string path) throw (); - - /** - * A virtual destructor, as this class has virtual functions. - */ - virtual - ~CornerImages(void) throw () - { - } - - -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_CornerImages_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/DialogWindow.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/DialogWindow.h deleted file mode 100644 index e2fa41023..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/DialogWindow.h +++ /dev/null @@ -1,167 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef DialogWindow_h -#define DialogWindow_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 "LiveSupport/Widgets/WhiteWindow.h" - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A dialog window, displaying a single line of message, - * with a pair of buttons: Yes and No, or OK and Cancel etc. - * - * The constructor is called with a message, a list of ButtonType values - * (e.g. cancelButton|okButton), and a resource bundle. The resource bundle - * is expected to contain keys named cancelButtonLabel, noButtonLabel, - * yesButtonLabel and okButtonLabel. - * - * The return value of the run() method is a single ButtonType value. - * The DialogWindow object is not destroyed when it returns from run(); - * it is the responsibility of the caller to delete it (or it can be - * reused a few times first). - * - * @author $Author$ - * @version $Revision$ - */ -class DialogWindow : public WhiteWindow, - public LocalizedObject -{ - public: - /** - * The types of possible buttons. - */ - typedef enum { cancelButton = 1, - noButton = 2, - yesButton = 4, - okButton = 8 } ButtonType; - - - private: - /** - * The type of the button clicked. - */ - ButtonType buttonClicked; - - - protected: - /** - * The event handler for the Cancel button clicked. - */ - virtual void - onCancelButtonClicked(void) throw (); - - /** - * The event handler for the No button clicked. - */ - virtual void - onNoButtonClicked(void) throw (); - - /** - * The event handler for the Yes button clicked. - */ - virtual void - onYesButtonClicked(void) throw (); - - /** - * The event handler for the OK button clicked. - */ - virtual void - onOkButtonClicked(void) throw (); - - - public: - /** - * Constructor. - * - * @param message the message to display in the window - * @param buttonTypes a list of button types, e.g., - * noButton|yesButton - * @param bundle a resource bundle containing the localized - * button labels - */ - DialogWindow(Ptr::Ref message, - int buttonTypes, - Ptr::Ref bundle) - throw (); - - /** - * Virtual destructor. - */ - virtual - ~DialogWindow(void) throw (); - - /** - * Run the window and return the button pressed. - */ - virtual ButtonType - run(void) throw (); - -}; - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // DialogWindow_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/EntryBin.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/EntryBin.h deleted file mode 100644 index 0d7c307d3..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/EntryBin.h +++ /dev/null @@ -1,174 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_EntryBin_h -#define LiveSupport_Widgets_EntryBin_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Widgets/CornerImages.h" -#include "LiveSupport/Widgets/Colors.h" -#include "LiveSupport/Widgets/BlueBin.h" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A container, holding a Gtk::Entry as its only child. - * - * @author $Author$ - * @version $Revision$ - */ -class EntryBin : public BlueBin -{ - private: - /** - * The text entry for this container. - */ - Gtk::Entry * entry; - - - public: - /** - * Constructor, with only one state. - * - * @param backgroundColor the RGB value for the background color. - * @param cornerImages the corner images. - */ - EntryBin(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages) - throw (); - - /** - * A virtual destructor. - */ - virtual - ~EntryBin(void) throw (); - - /** - * Return the entry held in this container. - * - * @return the entry held in this container. - */ - Gtk::Entry * - getEntry(void) throw () - { - return entry; - } - - /** - * Return the entry held in this container (const version). - * - * @return the entry held in this container. - */ - const Gtk::Entry * - getEntry(void) const throw () - { - return entry; - } - - /** - * Return the text of the entry. - * - * @return the get_text() string of the Gtk::Entry. - */ - Glib::ustring - get_text(void) const throw () - { - return getEntry()->get_text(); - } - - /** - * Set the text of the entry. - * - * @return the get_text() string of the Gtk::Entry. - */ - void - set_text(const Glib::ustring & text) throw () - { - getEntry()->set_text(text); - } - - /** - * The signal proxy for pressing enter in the entry field. - * - * @return the signal_activate() proxy of the Gtk::Entry. - */ - Glib::SignalProxy0 - signal_activate(void) throw () - { - return getEntry()->signal_activate(); - } - - /** - * The signal proxy for the text having changed in the entry field. - * - * @return the signal_changed() proxy of the Gtk::Entry. - */ - Glib::SignalProxy0 - signal_changed(void) throw () - { - return getEntry()->signal_changed(); - } -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_EntryBin_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ImageButton.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ImageButton.h deleted file mode 100644 index c02044467..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ImageButton.h +++ /dev/null @@ -1,270 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_ImageButton_h -#define LiveSupport_Widgets_ImageButton_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - - -namespace LiveSupport { -namespace Widgets { - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A button that is represented by a bitmap totally. - * The button is fixed in size, which is determined by the images used - * to represent it. - * - * @author $Author$ - * @version $Revision$ - */ -class ImageButton : public Gtk::Button -{ - private: - /** - * The possible states of the button. - */ - typedef enum { passiveState, rollState, selectedState } State; - - /** - * The Gdk::Window object, used to draw inside this button. - */ - Glib::RefPtr gdkWindow; - - /** - * The Graphics Context, used to draw. - */ - Glib::RefPtr gc; - - /** - * The state of the button. - */ - State state; - - /** - * The image of the button itself, in passive state - */ - Glib::RefPtr passiveImage; - - /** - * The image of the button, when the mouse hovers above it. - */ - Glib::RefPtr rollImage; - - /** - * The transparency mask for the button, in passive state. - */ - Glib::RefPtr passiveMask; - - /** - * The transparency mask for the button, in rollover state. - */ - Glib::RefPtr rollMask; - - /** - * Default constructor. - */ - ImageButton(void) throw () - { - } - - - protected: - /** - * Handle the size request event. - * - * @param requisition the size request, also being the ouptut - * parameter. - */ - virtual void - on_size_request(Gtk::Requisition* requisition) - throw (); - - /** - * Handle the size allocate event. - * - * @param allocation the allocated size. - */ - virtual void - on_size_allocate(Gtk::Allocation& allocation) - throw (); - - /** - * Handle the map event. - */ - virtual void - on_map() throw (); - - /** - * Handle the unmap event. - */ - virtual void - on_unmap() throw (); - - /** - * Handle the realize event. - */ - virtual void - on_realize() throw (); - - /** - * Handle the unrealize event. - */ - virtual void - on_unrealize() throw (); - - /** - * Handle the expose event. - * - * @param event the actual expose event recieved. - * @return true if something was drawn (?) - */ - virtual bool - on_expose_event(GdkEventExpose* event) throw (); - - /** - * Execute a function on all children of this container. - * - * @param includeInternals true if the callback function should - * also be called on the internals, false otherwise. - * @param callback the callback function to execute on the children. - * @param callbackData the data passed to the callback function. - */ - virtual void - forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) - throw (); - - /** - * Handle the add event. - * - * @param child the child being added to the widget. - */ - virtual void - on_add(Gtk::Widget* child) throw (); - - /** - * Handle the remove event. - * - * @param child the child to remove from the widget. - */ - virtual void - on_remove(Gtk::Widget* child) throw (); - - /** - * Tell what kind of children this container accepts. - * - * @return the type of children this container accepts. - */ - virtual GtkType - child_type_vfunc() const throw (); - - /** - * Handle the event when the mouse enters the button area. - */ - virtual void - on_enter(void) throw (); - - /** - * Handle the event when the mouse leaves the button area. - */ - virtual void - on_leave(void) throw (); - - - public: - /** - * Constructor, with only one image. - * - * @param image the image of the button. - */ - ImageButton(Glib::RefPtr image) throw (); - - /** - * Constructor, with a passive and a rollover image. - * The two images are assumed to be of the same size. - * - * @param passiveImage the passive image of the button. - * @param rollImage the image of the button when the mouse rolls - * over it. - */ - ImageButton(Glib::RefPtr passiveImage, - Glib::RefPtr rollImage) throw (); - - /** - * A virtual destructor. - */ - 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 - getPassiveImage(void) throw () - { - return passiveImage; - } -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_ImageButton_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/MasterPanelBin.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/MasterPanelBin.h deleted file mode 100644 index bf9e8af6f..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/MasterPanelBin.h +++ /dev/null @@ -1,121 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author: fgerlits $ - Version : $Revision$ - Location : $URL: svn+ssh://fgerlits@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/src/modules/widgets/include/LiveSupport/Widgets/MasterPanelBin.h $ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_MasterPanelBin_h -#define LiveSupport_Widgets_MasterPanelBin_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/BlueBin.h" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A BlueBin with only a bottom border, no top, side, and corner borders. - * This is used for the Master Panel. - * - * @author $Author: fgerlits $ - * @version $Revision$ - */ -class MasterPanelBin : public BlueBin -{ - protected: - /** - * Handle the size request event. - * - * @param requisition the size request, also being the ouptut - * parameter. - */ - virtual void - on_size_request(Gtk::Requisition* requisition) throw (); - - /** - * Handle the size allocate event. - * - * @param allocation the allocated size. - */ - virtual void - on_size_allocate(Gtk::Allocation& allocation) throw (); - - /** - * Handle the expose event. - * - * @param event the actual expose event recieved. - * @return true if something was drawn (?) - */ - virtual bool - on_expose_event(GdkEventExpose* event) throw (); - - - public: - /** - * Constructor, with only one state. - * This simply calls the BlueBin constructor. - */ - MasterPanelBin(void) throw (); - - /** - * A virtual destructor. - */ - virtual - ~MasterPanelBin(void) throw (); -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_MasterPanelBin_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/Notebook.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/Notebook.h deleted file mode 100644 index 475271b4f..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/Notebook.h +++ /dev/null @@ -1,348 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_Notebook_h -#define LiveSupport_Widgets_Notebook_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 - -#include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Widgets/CornerImages.h" -#include "LiveSupport/Widgets/Button.h" -#include "LiveSupport/Widgets/ImageButton.h" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A container holding a range of children, showing one a time, in tabs. - * - * After adding pages to a Notebook object, call the function pagesAdded(). - * - * @author $Author$ - * @version $Revision$ - */ -class Notebook : public Gtk::Alignment -{ - private: - /** - * A container class, holding all that is needed to represent - * a page in the notepad. - * - * @author $Author$ - * @version $Revision$ - */ - class Page - { - public: - /** - * The Notebook this page is contained in. - */ - Notebook * notebook; - - /** - * The index of the page. - */ - unsigned int index; - - /** - * The container for the widget. - */ - Gtk::Alignment * container; - - /** - * The contents of the page. - */ - Gtk::Widget * widget; - - /** - * The button of the page. - */ - Button * button; - - /** - * Signal handler for the tab button clicked. - */ - virtual void - onTabClicked(void) throw () - { - notebook->setActivePage(index); - } - - /** - * Constructor. - * - * @param notebook the notebook this page is contained in. - * @param index the index of the page. - * @param widget the widget of the page. - * @param button the button of the page. - */ - Page(Notebook * notebook, - unsigned int index, - Gtk::Widget * widget, - Button * button) throw () - { - this->notebook = notebook; - this->index = index; - this->widget = widget; - this->button = button; - - container = new Gtk::Alignment; - container->add(*widget); - } - - /** - * Destructor. - */ - virtual - ~Page(void) throw () - { - delete container; - } - }; - - /** - * The list type, for the list of pages. - */ - typedef std::vector PageList; - - /** - * The list of pages in the notebook. - */ - PageList pageList; - - /** - * The layout of the window. - */ - Gtk::VBox * layout; - - /** - * The horizontal box holding the tabs. - */ - Gtk::HBox * tabBox; - - /** - * The container for the displaying a page at a time. - */ - Gtk::Alignment * pageHolder; - - /** - * The index of the current active page. - */ - unsigned int activePage; - - - protected: - /** - * Handle the size request event. - * - * @param requisition the size request, also being the ouptut - * parameter. - */ - virtual void - on_size_request(Gtk::Requisition* requisition) - throw (); - - /** - * Handle the size allocate event. - * - * @param allocation the allocated size. - */ - virtual void - on_size_allocate(Gtk::Allocation& allocation) - throw (); - - /** - * Handle the map event. - */ - virtual void - on_map() throw (); - - /** - * Handle the unmap event. - */ - virtual void - on_unmap() throw (); - - /** - * Handle the realize event. - */ - virtual void - on_realize() throw (); - - /** - * Handle the unrealize event. - */ - virtual void - on_unrealize() throw (); - - /** - * Handle the expose event. - * - * @param event the actual expose event recieved. - * @return true if something was drawn (?) - */ - virtual bool - on_expose_event(GdkEventExpose* event) throw (); - - /** - * Execute a function on all children of this container. - * - * @param includeInternals true if the callback function should - * also be called on the internals, false otherwise. - * @param callback the callback function to execute on the children. - * @param callbackData the data passed to the callback function. - */ - virtual void - forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) - throw (); - - /** - * Handle the add event. - * - * @param child the child being added to the widget. - */ - virtual void - on_add(Gtk::Widget* child) throw (); - - /** - * Handle the remove event. - * - * @param child the child to remove from the widget. - */ - virtual void - on_remove(Gtk::Widget* child) throw (); - - /** - * Tell what kind of children this container accepts. - * - * @return the type of children this container accepts. - */ - virtual GtkType - child_type_vfunc() const throw (); - - /** - * Call this function after finished adding pages to this object. - * This call will make the object prepare the visuals to display. - */ - virtual void - pagesAdded(void) throw (); - - - public: - /** - * Constructor. - */ - Notebook() throw (); - - /** - * A virtual destructor. - */ - virtual - ~Notebook(void) throw (); - - /** - * Append a page to the notebook. - * - * @param widget the widget that is the page itself. - * @param label the label of the page. - */ - virtual void - appendPage(Gtk::Widget & widget, - const Glib::ustring & label) throw (); - - /** - * Get the number of the active page. - * - * @return the index of the active page. - */ - virtual unsigned int - getActivePage(void) throw () - { - return activePage; - } - - /** - * Make a specific page active. - * - * @param pageNo the index of the page to make active. - */ - virtual void - setActivePage(unsigned int pageNo) throw (); - - /** - * Enable or disable a page in the notebook. - * - * @param pageNo the index of the page to enable or disable. - * @param sensitive true (default) to enable, false to disable. - */ - virtual void - setPageSensitive(unsigned int pageNo, - bool sensitive) throw (); -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_Notebook_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/RadioButtons.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/RadioButtons.h deleted file mode 100644 index c5524831c..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/RadioButtons.h +++ /dev/null @@ -1,128 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author: fgerlits $ - Version : $Revision$ - Location : $URL: svn+ssh://fgerlits@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/src/modules/widgets/include/LiveSupport/Widgets/RadioButtons.h $ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_RadioButtons_h -#define LiveSupport_Widgets_RadioButtons_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" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A group of radio buttons. - * - * @author $Author: fgerlits $ - * @version $Revision$ - */ -class RadioButtons : public Gtk::VBox -{ - private: - /** - * The list of radio buttons contained in the widget. - */ - std::vector buttons; - - - public: - /** - * Default constructor. - */ - RadioButtons(void) throw () - { - } - - /** - * A virtual destructor. - */ - virtual - ~RadioButtons(void) throw () - { - } - - /** - * Add a new radio button. - * - * @param label the label of the new button. - */ - void - add(Ptr::Ref label) throw (); - - /** - * Return the number of the active (selected) button. - * The buttons are numbered in the order they were added, starting - * with 0. - * It returns -1 if no radio buttons have been added, and returns - * the number of radio buttons if none of them is active [this - * should never happen]. - * - * @return the number of the active button. - */ - int - getActiveButton(void) const throw (); - -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_RadioButtons_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledNotebook.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledNotebook.h deleted file mode 100644 index 4ffc72883..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledNotebook.h +++ /dev/null @@ -1,105 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_ScrolledNotebook_h -#define LiveSupport_Widgets_ScrolledNotebook_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/Notebook.h" - - -namespace LiveSupport { -namespace Widgets { - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A Widgets::Notebook subclass, which puts pages inside - * a Widgets::ScrolledWindow before appending them. - * - * @author $Author$ - * @version $Revision$ - */ -class ScrolledNotebook : public Notebook -{ - public: - /** - * Constructor. - */ - ScrolledNotebook() throw () - : Notebook() - { - } - - /** - * A virtual destructor. - */ - virtual - ~ScrolledNotebook(void) throw () - { - } - - /** - * Append a page to the notebook. - * - * @param widget the widget that is the page itself. - * @param label the label of the page. - */ - virtual void - appendPage(Gtk::Widget & widget, - const Glib::ustring & label) throw (); -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_ScrolledNotebook_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledWindow.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledWindow.h deleted file mode 100644 index 60c64e6e3..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ScrolledWindow.h +++ /dev/null @@ -1,123 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_ScrolledWindow_h -#define LiveSupport_Widgets_ScrolledWindow_h - -#ifndef __cplusplus -#error This is a C++ include file -#endif - - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "LiveSupport/Widgets/Colors.h" - - -namespace LiveSupport { -namespace Widgets { - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A subclass of Gtk::ScrolledWindow. The only difference is that the - * background color is hard-coded to be LiveSupport::Widgets::Colors::White. - * - * @author $Author$ - * @version $Revision$ - */ -class ScrolledWindow : public Gtk::ScrolledWindow -{ - private: - /** - * The shadow type of the child widget. - */ - Gtk::ShadowType shadowType; - - /** - * Whether the shadow type has been manually set on the child widget. - */ - bool useShadowType; - - - protected: - /** - * Handle the realize event. - */ - virtual void - on_realize() throw (); - - - public: - /** - * Constructor. - */ - ScrolledWindow() throw (); - - /** - * A virtual destructor. - */ - virtual - ~ScrolledWindow(void) throw (); - - /** - * Set the shadow_type of the child widget. - * Must be called before the window is realized. - */ - void - setShadowType(Gtk::ShadowType st) throw () - { - shadowType = st; - useShadowType = true; - } -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_ScrolledWindow_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WhiteWindow.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WhiteWindow.h deleted file mode 100644 index 25c9b8bc4..000000000 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WhiteWindow.h +++ /dev/null @@ -1,397 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ -#ifndef LiveSupport_Widgets_WhiteWindow_h -#define LiveSupport_Widgets_WhiteWindow_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 -#include -#include -#include -#include - -#include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Widgets/WidgetConstants.h" -#include "LiveSupport/Widgets/CornerImages.h" -#include "LiveSupport/Widgets/Colors.h" -#include "LiveSupport/Widgets/ImageButton.h" -#include "LiveSupport/Widgets/BlueBin.h" - - -namespace LiveSupport { -namespace Widgets { - -using namespace LiveSupport::Core; - -/* ================================================================ constants */ - - -/* =================================================================== macros */ - - -/* =============================================================== data types */ - -/** - * A container holding exactly one child, having a light blue border to it. - * - * To create a white window, subclass your window class from WhiteWindow, - * and supply appropriate parameters to the WhiteWindow constructor, - * upon construction. - * - * For example: - *
- *  class MyWindow : public WhiteWindow
- *  {
- *      MyWindow(void);
- *      ...
- *  };
- *
- *  MyWindow::MyWindow(void)
- *       : WhiteWindow("window title",
- *                     Colors::White,
- *                     WidgetFactory::getInstance()->getWhiteWindowCorners())
- *  {
- *      ...
- *  }
- *  
- * - * @author $Author$ - * @version $Revision$ - * @see WidgetFactory - * @see WidgetFactory#getWhiteWindowCorners - */ -class WhiteWindow : public Gtk::Window, - public boost::enable_shared_from_this -{ - private: - /** - * The default width of the window, of -1, automatic. - */ - int defaultWidth; - - /** - * The default height of the window, if -1, automatic - */ - int defaultHeight; - - /** - * The rounded container for the window. - */ - BlueBin * blueBin; - - /** - * The layout of the window. - */ - Gtk::Table * layout; - - /** - * The left alignment contaner for the title. - */ - Gtk::Alignment * titleAlignment; - - /** - * The title of the window (if it's of text type, otherwise 0). - */ - Gtk::Label * titleLabel; - - /** - * The right alignment contaner for the minimize, maximize and - * close buttons. - */ - Gtk::Alignment * cornerButtonAlignment; - - /** - * True if the window has been minimized. - */ - bool isMaximized; - - /** - * The close button. - */ - ImageButton * minimizeButton; - - /** - * The close button. - */ - ImageButton * maximizeButton; - - /** - * The close button. - */ - ImageButton * closeButton; - - /** - * The right alignment contaner for the resize image. - */ - Gtk::Alignment * resizeAlignment; - - /** - * The event box container for the resize image. - */ - Gtk::EventBox * resizeEventBox; - - /** - * The resize image. - */ - Gtk::Image * resizeImage; - - /** - * Just a container for the main content of the window. - */ - Gtk::Alignment * childContainer; - - /** - * Default constructor. - */ - WhiteWindow(void) throw () - { - } - - - protected: - /** - * Handle the size request event. - * - * @param requisition the size request, also being the ouptut - * parameter. - */ - virtual void - on_size_request(Gtk::Requisition* requisition) - throw (); - - /** - * Handle the size allocate event. - * - * @param allocation the allocated size. - */ - virtual void - on_size_allocate(Gtk::Allocation& allocation) - throw (); - - /** - * Handle the map event. - */ - virtual void - on_map() throw (); - - /** - * Handle the unmap event. - */ - virtual void - on_unmap() throw (); - - /** - * Handle the realize event. - */ - virtual void - on_realize() throw (); - - /** - * Handle the unrealize event. - */ - virtual void - on_unrealize() throw (); - - /** - * Handle the expose event. - * - * @param event the actual expose event recieved. - * @return true if something was drawn (?) - */ - virtual bool - on_expose_event(GdkEventExpose* event) throw (); - - /** - * Execute a function on all children of this container. - * - * @param includeInternals true if the callback function should - * also be called on the internals, false otherwise. - * @param callback the callback function to execute on the children. - * @param callbackData the data passed to the callback function. - */ - virtual void - forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) - throw (); - - /** - * Handle the add event. - * - * @param child the child being added to the widget. - */ - virtual void - on_add(Gtk::Widget* child) throw (); - - /** - * Handle the remove event. - * - * @param child the child to remove from the widget. - */ - virtual void - on_remove(Gtk::Widget* child) throw (); - - /** - * Tell what kind of children this container accepts. - * - * @return the type of children this container accepts. - */ - virtual GtkType - child_type_vfunc() const throw (); - - /** - * The common part of both constructors. - * - * @param backgroundColor the background color. - * @param cornerImages the corner images. - * @param properties some WindowProperties flags - */ - void - constructWindow(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages, - int properties) - throw (); - - /** - * The event handler for the title being clicked on. - * - * @param event the button click event. - * @return true if the the event was handled, false otherwise. - */ - virtual bool - onTitleClicked(GdkEventButton * event) throw (); - - /** - * Signal handler for the minimize button clicked. - */ - virtual void - onMinimizeButtonClicked(void) throw (); - - /** - * Signal handler for the maximize button clicked. - */ - virtual void - onMaximizeButtonClicked(void) throw (); - - /** - * Signal handler for the close button clicked. - */ - virtual void - onCloseButtonClicked(void) throw (); - - /** - * The event handler for the resize being clicked on. - * - * @param event the button click event. - * @return true if the the event was handled, false otherwise. - */ - virtual bool - onResizeClicked(GdkEventButton * event) throw (); - - - public: - /** - * Constructor. - * - * @param title the title of the window. - * @param applicationTitle the name of the application. - * @param backgroundColor the background color. - * @param cornerImages the corner images. - * @param properties some WindowProperties flags - */ - WhiteWindow(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages, - int properties = 0) - throw (); - - /** - * A virtual destructor. - */ - virtual - ~WhiteWindow(void) throw (); - - /** - * Set the title of the window. - * - * This sets the title shown in the upper left corner of the window - * to "TITLE", and sets the window manager title shown in the task - * bar to "title - applicationTitle". - * - * @param title the title of the window. - * @param applicationTitle the name of the application. - */ - void - setTitle(const Glib::ustring & title, - const Glib::ustring & applicationTitle) - throw (); - - /** - * Set the default size of the window. - * - * @param width the default width of the window. - * @param height the default height of the window. - */ - void - set_default_size(int width, - int height) throw (); - - /** - * Properties the WhiteWindow can have. This is passed as the - * properties parameter to the constructors. - */ - typedef enum { hasNoTitle = 1, - isNotResizable = 2, - isModal = 4 } WindowProperties; -}; - - -/* ================================================= external data structures */ - - -/* ====================================================== function prototypes */ - - -} // namespace Widgets -} // namespace LiveSupport - -#endif // LiveSupport_Widgets_WhiteWindow_h - diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetConstants.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetConstants.h index 57996abc7..415c743e8 100644 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetConstants.h +++ b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetConstants.h @@ -50,46 +50,17 @@ namespace Widgets { /** * A collection of constants used by the widgets. * - * Constants which are either used by more than one widget or used by - * the WidgetFactory class are collected here. This way widget headers - * do not need to include each other's or WidgetFactory's header. - * * @author $Author $ * @version $Revision $ */ class WidgetConstants { public: - /** - * The types of available buttons. - * - * A pushButton is a button like OK, Cancel, etc. - * A radioButton is a button with an "in" and an "out" state, - * like the window opener buttons on the Master Panel. - * A tabButton is one of selection tabs at the top of a Notebook. - */ - typedef enum { pushButton, - radioButton, - tabButton } ButtonType; - - /** - * The types of available image buttons. - */ - typedef enum { deleteButton, plusButton, minusButton, - smallPlayButton, smallPauseButton, smallStopButton, - hugePlayButton, - cuePlayButton, cueStopButton, - masterPlayButton, masterPauseButton, masterStopButton, - windowMinimizeButton, windowMaximizeButton, - windowCloseButton } - ImageButtonType; /** * The list of available miscellaneous images. */ - typedef enum { resizeImage, - windowTitleLogoImage, - audioClipIconImage, + typedef enum { audioClipIconImage, playlistIconImage } ImageType; }; diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetFactory.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetFactory.h index 527923967..444185fa7 100644 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetFactory.h +++ b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/WidgetFactory.h @@ -44,20 +44,7 @@ #include #include "LiveSupport/Core/Configurable.h" -#include "LiveSupport/Core/MetadataTypeContainer.h" - #include "LiveSupport/Widgets/WidgetConstants.h" -#include "LiveSupport/Widgets/CornerImages.h" -#include "LiveSupport/Widgets/ButtonImages.h" -#include "LiveSupport/Widgets/Button.h" -#include "LiveSupport/Widgets/ImageButton.h" -#include "LiveSupport/Widgets/ComboBoxText.h" -#include "LiveSupport/Widgets/MetadataComboBoxText.h" -#include "LiveSupport/Widgets/OperatorComboBoxText.h" -#include "LiveSupport/Widgets/BlueBin.h" -#include "LiveSupport/Widgets/EntryBin.h" -#include "LiveSupport/Widgets/DialogWindow.h" -#include "LiveSupport/Widgets/ZebraTreeView.h" namespace LiveSupport { @@ -74,7 +61,9 @@ using namespace LiveSupport::Core; /* =============================================================== data types */ /** - * A factory to provide access to LiveSupport Widgets. + * A factory to provide access to some Campcaster Widgets. + * As of Aug 2007, it is only used to retrieve the audio clip and playlist + * icon images. It may be extended later, or it may be removed. * * The singleton instance of this class has to be configured with an XML * element, which looks like the following: @@ -94,10 +83,10 @@ using namespace LiveSupport::Core; * @author $Author$ * @version $Revision$ */ -class WidgetFactory : - virtual public Configurable +class WidgetFactory : public Configurable { private: + /** * The name of the configuration XML elmenent used by this object. */ @@ -113,51 +102,6 @@ class WidgetFactory : */ std::string path; - /** - * The images for the standard button. - */ - Ptr::Ref buttonImages; - - /** - * The images for the tab button. - */ - Ptr::Ref tabButtonImages; - - /** - * The corner images for the blue bin. - */ - Ptr::Ref blueBinImages; - - /** - * The corner images for the dark blue bin. - */ - Ptr::Ref darkBlueBinImages; - - /** - * The corner images for the entry bin. - */ - Ptr::Ref entryBinImages; - - /** - * The corner images for the white window. - */ - Ptr::Ref whiteWindowImages; - - /** - * The combo box left image. - */ - Glib::RefPtr comboBoxLeftImage; - - /** - * The combo box center image. - */ - Glib::RefPtr comboBoxCenterImage; - - /** - * The combo box right image. - */ - Glib::RefPtr comboBoxRightImage; - /** * A container holding the miscallenous image pixbuf references. */ @@ -182,20 +126,9 @@ class WidgetFactory : loadImage(const std::string imageName) throw (std::invalid_argument); - /** - * Convert an integer to a string. - * - * @param number the number to be converted. - * @param minLength the minimum length of the result; smaller - * numbers get padded with zeroes (optional). - * @return the string value of the number (in base 10). - */ - static Glib::ustring - itoa(int number, - int minLength = 0) throw (); - public: + /** * A virtual destructor, as this class has virtual functions. */ @@ -237,141 +170,6 @@ class WidgetFactory : configure(const xmlpp::Element & element) throw (std::invalid_argument, std::logic_error); - - /** - * Create and return a generic button. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param label the label shown inside the button. - * @param type the type of the button to create - * @return a button with the specified label. - */ - Button * - createButton( - Gtk::Widget & label, - WidgetConstants::ButtonType type = WidgetConstants::pushButton) - throw (); - - /** - * Create and return a button with a text label. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param label the label shown inside the button. - * @param type the type of the button to create - * @return a button with the specified label. - */ - Button * - createButton( - const Glib::ustring & label, - WidgetConstants::ButtonType type = WidgetConstants::pushButton) - throw (); - - /** - * Create a stock button. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param type the type of the button. - * @return a button of the requested type, or 0 - */ - ImageButton * - createButton(WidgetConstants::ImageButtonType type) throw (); - - /** - * Create a combo box that holds text entries. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @return a combo box, that holds text entries. - */ - ComboBoxText * - createComboBoxText(void) throw (); - - /** - * Create a metadata combo box that holds metadata types. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param metadataTypes a container of metadata types to display. - * @return a combo box, that holds metadata types. - */ - MetadataComboBoxText * - createMetadataComboBoxText( - Ptr::Ref metadataTypes) - throw (); - - /** - * Create a combo box that holds comparison operators. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param bundle a localization bundle. - * @return a combo box, that holds comparison operators. - */ - OperatorComboBoxText * - createOperatorComboBoxText( - Ptr::Ref bundle) - throw (); - - /** - * Create a combo box that holds a range of numeric entries. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param lowerLimit the lowest entry in the combo box. - * @param upperLimit the highest entry in the combo box. - * @param minLength the minimum length of the entries; smaller - * numbers get padded with zeroes (optional). - * @return a combo box, that holds numeric entries. - */ - ComboBoxText * - createNumericComboBoxText(int lowerLimit, - int upperLimit, - int minLength = 0) throw (); - - /** - * Create and return a blue singular container. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @return a blue singular container. - */ - BlueBin * - createBlueBin(void) throw (); - - /** - * Create and return a dark blue singular container. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @return a dark blue singular container. - */ - BlueBin * - createDarkBlueBin(void) throw (); - - /** - * Create and return a singular container holding a text entry. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @return a singular container holding a text entry. - */ - EntryBin * - createEntryBin(void) throw (); - - /** - * Return the images for the white window. - * - * @return the corner images for the white window. - */ - Ptr::Ref - getWhiteWindowCorners(void) throw () - { - return whiteWindowImages; - } - /** * Return a smart pointer to a Gdk::Pixbuf holding a named image. * @@ -379,44 +177,6 @@ class WidgetFactory : */ Glib::RefPtr getPixbuf(WidgetConstants::ImageType imageName) throw (); - - /** - * Create and return a container holding an image. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @return the container holding the requested image. - */ - Gtk::Image * - createImage(WidgetConstants::ImageType imageName) throw (); - - /** - * Create and return a ZebraTreeView instance. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @return the ZebraTreeView object. - */ - ZebraTreeView * - createTreeView(Glib::RefPtr treeModel) - throw (); - - /** - * Create a DialogWindow. - * Good for displaying error messages, confirmation messages, etc. - * It is the reponsibility of the caller to dispose of the created - * object properly. - * - * @param message the message to include in the window. - * @param bundle localization for the button(s). - * @param buttons a list of buttons; default is a single OK button. - * @return the DialogWindow object. - */ - DialogWindow * - createDialogWindow(Ptr::Ref message, - Ptr::Ref bundle, - int buttons = DialogWindow::okButton) - throw (); }; diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ZebraTreeView.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ZebraTreeView.h index cd4a7b4f9..95bba644b 100644 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ZebraTreeView.h +++ b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ZebraTreeView.h @@ -46,7 +46,6 @@ #include "LiveSupport/Core/Ptr.h" #include "LiveSupport/Widgets/WidgetConstants.h" -#include "LiveSupport/Widgets/ImageButton.h" namespace LiveSupport { @@ -289,7 +288,7 @@ class ZebraTreeView : public Gtk::TreeView * Add an image column to the TreeView. * * @param title the title of the column - * @param image the type of button this view will display + * @param modelColumn the model column this view will display * @param minimumWidth the minimum width of the column, in pixels * (optional) * @return the number of columns after adding this one @@ -302,21 +301,6 @@ class ZebraTreeView : public Gtk::TreeView 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, - WidgetConstants::ImageButtonType buttonType, - int minimumWidth = 0) - throw (); - /** * Add a centered text column to the TreeView. * diff --git a/campcaster/src/modules/widgets/src/BlueBin.cxx b/campcaster/src/modules/widgets/src/BlueBin.cxx deleted file mode 100644 index 69776fcb3..000000000 --- a/campcaster/src/modules/widgets/src/BlueBin.cxx +++ /dev/null @@ -1,416 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - - -#include "LiveSupport/Widgets/BlueBin.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -BlueBin :: BlueBin(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages, - bool transparentBorder) - throw () -{ - set_flags(Gtk::NO_WINDOW); - - this->cornerImages = cornerImages; - this->transparentBorder = transparentBorder; - - child = 0; - - bgColor = Colors::getColor(backgroundColor); - - // generate the transparency mask bitmaps for the corners. - cornerBitmaps.reset(new CornerBitmaps()); - Glib::RefPtr pixmap; - - cornerImages->topLeftImage->render_pixmap_and_mask(pixmap, - cornerBitmaps->topLeftBitmap, 100); - cornerImages->topRightImage->render_pixmap_and_mask(pixmap, - cornerBitmaps->topRightBitmap, 100); - cornerImages->bottomLeftImage->render_pixmap_and_mask(pixmap, - cornerBitmaps->bottomLeftBitmap, 100); - cornerImages->bottomRightImage->render_pixmap_and_mask(pixmap, - cornerBitmaps->bottomRightBitmap, 100); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -BlueBin :: ~BlueBin(void) throw () -{ - on_remove(child); -} - - -/*------------------------------------------------------------------------------ - * Handle the size request event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_size_request(Gtk::Requisition* requisition) throw () -{ - *requisition = Gtk::Requisition(); - - int width = 0; - int height = 0; - - if (child) { - Gtk::Requisition childRequisition = child->size_request(); - width = childRequisition.width; - height = childRequisition.height; - } - - requisition->width = width - + cornerImages->leftImage->get_width() - + cornerImages->rightImage->get_width(); - requisition->height = height - + cornerImages->topImage->get_height() - + cornerImages->bottomImage->get_height(); -} - - -/*------------------------------------------------------------------------------ - * Handle the size allocate event. - * We will not be given heights or widths less than we have requested, - * though we might get more. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_size_allocate(Gtk::Allocation& allocation) throw () -{ - set_allocation(allocation); - - if (gdkWindow) { - gdkWindow->move_resize( allocation.get_x(), - allocation.get_y(), - allocation.get_width(), - allocation.get_height() ); - } - - if (child) { - Gtk::Allocation childAlloc; - - childAlloc.set_x(cornerImages->leftImage->get_width()); - childAlloc.set_y(cornerImages->topImage->get_height()); - childAlloc.set_width(allocation.get_width() - - cornerImages->leftImage->get_width() - - cornerImages->rightImage->get_width()); - childAlloc.set_height(allocation.get_height() - - cornerImages->topImage->get_height() - - cornerImages->bottomImage->get_height()); - - child->size_allocate(childAlloc); - } - - Gtk::Bin::on_size_allocate(allocation); -} - - -/*------------------------------------------------------------------------------ - * Execute a function on all the children. - *----------------------------------------------------------------------------*/ -void -BlueBin :: forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) throw () -{ - if (child) { - callback(child->gobj(), callbackData); - } -} - - -/*------------------------------------------------------------------------------ - * Handle the add child widget event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_add(Gtk::Widget* child) throw () -{ - if (!this->child) { - this->child = child; - this->child->set_parent(*this); - } -} - - -/*------------------------------------------------------------------------------ - * Handle the remove child widget event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_remove(Gtk::Widget* child) throw () -{ - if (child && this->child == child && child->get_parent() == this) { - this->child = 0; - bool visible = child->is_visible(); - child->unparent(); - if (visible) { - queue_resize(); - } - } -} - - -/*------------------------------------------------------------------------------ - * Return what kind of widgets can be added to this container. - *----------------------------------------------------------------------------*/ -GtkType -BlueBin :: child_type_vfunc() const throw () -{ - return child ? G_TYPE_NONE : Gtk::Widget::get_type(); -} - - -/*------------------------------------------------------------------------------ - * Handle the map event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_map() throw () -{ - Gtk::Bin::on_map(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unmap event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_unmap() throw () -{ - Gtk::Bin::on_unmap(); -} - - -/*------------------------------------------------------------------------------ - * Handle the realize event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_realize() throw () -{ - // trick to make GTK-- allocate a window for the later get_window() call - set_flags(Gtk::NO_WINDOW); - Gtk::Bin::on_realize(); - - if (!gdkWindow) { - // create the Gdk::Window, if it didn't exist before - Gtk::Allocation allocation = get_allocation(); - - GdkWindowAttr attributes; - memset(&attributes, 0, sizeof(attributes)); - - // set initial position and size of the Gdk::Window - attributes.x = allocation.get_x(); - attributes.y = allocation.get_y(); - attributes.width = allocation.get_width(); - attributes.height = allocation.get_height(); - - attributes.event_mask = get_events () | Gdk::EXPOSURE_MASK; - attributes.window_type = GDK_WINDOW_CHILD; - attributes.wclass = GDK_INPUT_OUTPUT; - - - gdkWindow = Gdk::Window::create(get_window(), - &attributes, - GDK_WA_X | GDK_WA_Y); - unset_flags(Gtk::NO_WINDOW); - set_window(gdkWindow); - - modify_bg(Gtk::STATE_NORMAL, bgColor); - - // make the widget receive expose events - gdkWindow->set_user_data(gobj()); - - // allocate a GC for use in on_expose_event() - gc = Gdk::GC::create(gdkWindow); - } -} - - -/*------------------------------------------------------------------------------ - * Handle the unrealize event. - *----------------------------------------------------------------------------*/ -void -BlueBin :: on_unrealize() throw () -{ - gdkWindow.clear(); - gc.clear(); - - Gtk::Bin::on_unrealize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the expose event. - *----------------------------------------------------------------------------*/ -bool -BlueBin :: on_expose_event(GdkEventExpose* event) throw () -{ - if (event->count > 0) { - return false; - } - - int width = get_width(); - int height = get_height(); - - if (transparentBorder) { - unsigned int bitmapSize = 1 + (width * height); - - char * bitmapData = new char[bitmapSize]; - memset(bitmapData, 0xff, bitmapSize); - - Glib::RefPtr mask = Gdk::Bitmap::create(bitmapData, - width, - height); - delete[] bitmapData; - - Glib::RefPtr gc = Gdk::GC::create(mask); - Glib::RefPtr borderMask; - - mask->draw_drawable(gc, cornerBitmaps->topLeftBitmap, 0, 0, 0, 0); - - mask->draw_drawable(gc, cornerBitmaps->topRightBitmap, 0, 0, - width - cornerImages->topRightImage->get_width(), - 0); - - mask->draw_drawable(gc, cornerBitmaps->bottomLeftBitmap, 0, 0, - 0, - height - cornerImages->bottomLeftImage->get_height()); - - mask->draw_drawable(gc, cornerBitmaps->bottomRightBitmap, 0, 0, - width - cornerImages->bottomRightImage->get_width(), - height - cornerImages->bottomRightImage->get_height()); - - get_parent_window()->shape_combine_mask(mask, 0, 0); - } - - if (gdkWindow) { - gdkWindow->clear(); - - int x; - int maxX; - int y; - int maxY; - - renderImage(cornerImages->topLeftImage, 0, 0); - - // draw the top side as many times as necessary - x = cornerImages->topLeftImage->get_width(); - maxX = width - cornerImages->topRightImage->get_width(); - while (x < maxX) { - renderImage(cornerImages->topImage, x, 0); - x += cornerImages->topImage->get_width(); - } - - renderImage(cornerImages->topRightImage, - width - cornerImages->topRightImage->get_width(), - 0); - - // draw the left side as many times as necessary - y = cornerImages->topLeftImage->get_height(); - maxY = height - cornerImages->bottomLeftImage->get_height(); - while (y < maxY) { - renderImage(cornerImages->leftImage, 0, y); - y += cornerImages->leftImage->get_height(); - } - - renderImage(cornerImages->bottomLeftImage, - 0, - height - cornerImages->bottomLeftImage->get_height()); - - // draw the right side as many times as necessary - y = cornerImages->topRightImage->get_height(); - maxY = height - cornerImages->bottomRightImage->get_height(); - while (y < maxY) { - renderImage(cornerImages->rightImage, - width - cornerImages->rightImage->get_width(), - y); - y += cornerImages->rightImage->get_height(); - } - - // draw the bottom side as many times as necessary - x = cornerImages->bottomLeftImage->get_width(); - maxX = width - cornerImages->bottomRightImage->get_width(); - while (x < maxX) { - renderImage(cornerImages->bottomImage, - x, - height - cornerImages->bottomImage->get_height()); - x += cornerImages->bottomImage->get_width(); - } - - renderImage(cornerImages->bottomRightImage, - width - cornerImages->bottomRightImage->get_width(), - height - cornerImages->bottomRightImage->get_height()); - } - - Gtk::Bin::on_expose_event(event); - - return false; -} - - -/*------------------------------------------------------------------------------ - * Render an image - *----------------------------------------------------------------------------*/ -void -BlueBin :: renderImage(Glib::RefPtr image, - int x, - int y) throw () -{ - gdkWindow->draw_pixbuf(get_style()->get_black_gc(), - image, - 0, 0, - x, - y, - image->get_width(), - image->get_height(), - Gdk::RGB_DITHER_NONE, - 0, 0); -} - diff --git a/campcaster/src/modules/widgets/src/Button.cxx b/campcaster/src/modules/widgets/src/Button.cxx deleted file mode 100644 index ad2036ebe..000000000 --- a/campcaster/src/modules/widgets/src/Button.cxx +++ /dev/null @@ -1,484 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/Button.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - -/*------------------------------------------------------------------------------ - * The font definition used by the button. - *----------------------------------------------------------------------------*/ -const std::string Button :: fontDefinition = "Bitstream Vera 10"; - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -Button :: Button(const Glib::ustring & label, - Ptr::Ref buttonImages) - throw () - : useSelected(false), - buttonImages(buttonImages) -{ - set_flags(Gtk::NO_WINDOW); - - state = passiveState; - stationaryState = passiveState; - - this->child = Gtk::manage(new Gtk::Label(label)); - this->child->modify_font(Pango::FontDescription(fontDefinition)); - this->child->set_parent(*this); -} - - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -Button :: Button(Gtk::Widget & child, - Ptr::Ref buttonImages) - throw () - : useSelected(false), - buttonImages(buttonImages) -{ - set_flags(Gtk::NO_WINDOW); - - state = passiveState; - - this->child = &child; - this->child->set_parent(*this); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -Button :: ~Button(void) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Handle the size request event. - *----------------------------------------------------------------------------*/ -void -Button :: on_size_request(Gtk::Requisition* requisition) throw () -{ - *requisition = Gtk::Requisition(); - - Gtk::Requisition childRequisition = child->size_request();; - - requisition->width = buttonImages->passiveImageLeft->get_width() - + childRequisition.width - + buttonImages->passiveImageRight->get_width(); - requisition->height = buttonImages->passiveImageCenter->get_height(); -} - - -/*------------------------------------------------------------------------------ - * Handle the size allocate event. - * We will not be given heights or widths less than we have requested, - * though we might get more. - *----------------------------------------------------------------------------*/ -void -Button :: on_size_allocate(Gtk::Allocation& allocation) throw () -{ - allocation.set_height(buttonImages->passiveImageCenter->get_height()); - set_allocation(allocation); - - if (gdkWindow) { - gdkWindow->move_resize( allocation.get_x(), - allocation.get_y(), - allocation.get_width(), - allocation.get_height() ); - } - - Gtk::Allocation childAlloc; - - childAlloc.set_x(buttonImages->passiveImageLeft->get_width()); - childAlloc.set_y((allocation.get_height() - - buttonImages->passiveImageCenter->get_height()) - / 2); - childAlloc.set_width(allocation.get_width() - - buttonImages->passiveImageLeft->get_width() - - buttonImages->passiveImageRight->get_width()); - childAlloc.set_height(buttonImages->passiveImageCenter->get_height()); - - child->size_allocate(childAlloc); - - Gtk::Button::on_size_allocate(allocation); -} - - -/*------------------------------------------------------------------------------ - * Execute a function on all the children. - * As this widget has no children, don't do anything. - *----------------------------------------------------------------------------*/ -void -Button :: forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) throw () -{ - callback((GtkWidget*) child->gobj(), callbackData); -} - - -/*------------------------------------------------------------------------------ - * Handle the add child widget event. - * As this widget has no children, don't do anything. - *----------------------------------------------------------------------------*/ -void -Button :: on_add(Gtk::Widget* child) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Handle the remove child widget event. - * As this widget has no children, don't do anything. - *----------------------------------------------------------------------------*/ -void -Button :: on_remove(Gtk::Widget* child) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Return what kind of widgets can be added to this container. - * As this widget has no children, return G_TYPE_NONE always. - *----------------------------------------------------------------------------*/ -GtkType -Button :: child_type_vfunc() const throw () -{ - return G_TYPE_NONE; -} - - -/*------------------------------------------------------------------------------ - * Handle the map event. - *----------------------------------------------------------------------------*/ -void -Button :: on_map() throw () -{ - Gtk::Button::on_map(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unmap event. - *----------------------------------------------------------------------------*/ -void -Button :: on_unmap() throw () -{ - Gtk::Button::on_unmap(); -} - - -/*------------------------------------------------------------------------------ - * Handle the realize event. - *----------------------------------------------------------------------------*/ -void -Button :: on_realize() throw () -{ - // trick to make GTK-- allocate a window for the later get_window() call - set_flags(Gtk::NO_WINDOW); - Gtk::Button::on_realize(); - - if (!gdkWindow) { - // create the Gdk::Window, if it didn't exist before - - GdkWindowAttr attributes; - memset(&attributes, 0, sizeof(attributes)); - - Gtk::Allocation allocation = get_allocation(); - - // set initial position and size of the Gdk::Window - attributes.x = allocation.get_x(); - attributes.y = allocation.get_y(); - attributes.width = allocation.get_width(); - attributes.height = allocation.get_height(); - - attributes.event_mask = get_events () | Gdk::EXPOSURE_MASK; - attributes.window_type = GDK_WINDOW_CHILD; - attributes.wclass = GDK_INPUT_OUTPUT; - - - gdkWindow = Gdk::Window::create(get_window(), - &attributes, - GDK_WA_X | GDK_WA_Y); - unset_flags(Gtk::NO_WINDOW); - set_window(gdkWindow); - - // make the widget receive expose events - gdkWindow->set_user_data(gobj()); - - // allocate a GC for use in on_expose_event() - gc = Gdk::GC::create(gdkWindow); - } -} - - -/*------------------------------------------------------------------------------ - * Handle the unrealize event. - *----------------------------------------------------------------------------*/ -void -Button :: on_unrealize() throw () -{ - gdkWindow.clear(); - gc.clear(); - - Gtk::Button::on_unrealize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the expose event. - *----------------------------------------------------------------------------*/ -bool -Button :: on_expose_event(GdkEventExpose* event) throw () -{ - if (event->count > 0) { - return false; - } - - if (gdkWindow) { - gdkWindow->clear(); - - Glib::RefPtr leftImage; - Glib::RefPtr centerImage; - Glib::RefPtr rightImage; - - switch (state) { - case passiveState: - default: - leftImage = buttonImages->passiveImageLeft; - centerImage = buttonImages->passiveImageCenter; - rightImage = buttonImages->passiveImageRight; - break; - - case rollState: - leftImage = buttonImages->rollImageLeft - ? buttonImages->rollImageLeft - : buttonImages->passiveImageLeft; - centerImage = buttonImages->rollImageCenter - ? buttonImages->rollImageCenter - : buttonImages->passiveImageCenter; - rightImage = buttonImages->rollImageRight - ? buttonImages->rollImageRight - : buttonImages->passiveImageRight; - break; - - case selectedState: - leftImage = buttonImages->selectedImageLeft - ? buttonImages->selectedImageLeft - : buttonImages->passiveImageLeft; - centerImage = buttonImages->selectedImageCenter - ? buttonImages->selectedImageCenter - : buttonImages->passiveImageCenter; - rightImage = buttonImages->selectedImageRight - ? buttonImages->selectedImageRight - : buttonImages->passiveImageRight; - break; - - case disabledState: - leftImage = buttonImages->disabledImageLeft - ? buttonImages->disabledImageLeft - : buttonImages->passiveImageLeft; - centerImage = buttonImages->disabledImageCenter - ? buttonImages->disabledImageCenter - : buttonImages->passiveImageCenter; - rightImage = buttonImages->disabledImageRight - ? buttonImages->disabledImageRight - : buttonImages->passiveImageRight; - break; - } - - // draw everything vertically centered, but horizontally stretched - // out - int x = 0; - int y = (get_height() - centerImage->get_height()) / 2; - int maxX = get_width() - rightImage->get_width(); - - // draw the left image - leftImage->render_to_drawable(gdkWindow, - get_style()->get_black_gc(), - 0, 0, - x, - y, - leftImage->get_width(), - leftImage->get_height(), - Gdk::RGB_DITHER_NONE, - 0, 0); - - // draw as many center images, as necessary - for (x = leftImage->get_width(); - x < maxX; - x += centerImage->get_width()) { - - centerImage->render_to_drawable(gdkWindow, - get_style()->get_black_gc(), - 0, 0, - x, - y, - centerImage->get_width(), - centerImage->get_height(), - Gdk::RGB_DITHER_NONE, - 0, 0); - } - - // draw the right image - rightImage->render_to_drawable(gdkWindow, - get_style()->get_black_gc(), - 0, 0, - maxX, - y, - rightImage->get_width(), - rightImage->get_height(), - Gdk::RGB_DITHER_NONE, - 0, 0); - } - - Gtk::Container::on_expose_event(event); - - return false; -} - - -/*------------------------------------------------------------------------------ - * Handle the mouse enter event. - *----------------------------------------------------------------------------*/ -void -Button :: on_enter(void) throw () -{ - if (stationaryState == passiveState) { - state = rollState; - } - - Gtk::Button::on_enter(); -} - - -/*------------------------------------------------------------------------------ - * Handle the mouse leave event. - *----------------------------------------------------------------------------*/ -void -Button :: on_leave(void) throw () -{ - if (stationaryState != disabledState) { - state = stationaryState; - } - - Gtk::Button::on_leave(); -} - - -/*------------------------------------------------------------------------------ - * Handle the button click event. - *----------------------------------------------------------------------------*/ -void -Button :: on_clicked(void) throw () -{ - if (useSelected) { - switch(stationaryState) { - case disabledState: break; - - case passiveState: stationaryState = selectedState; - state = selectedState; - break; - - case selectedState: stationaryState = passiveState; - state = rollState; - break; - - case rollState: break; // can't happen, but gcc 4.0 wants it - } - } - - Gtk::Button::on_clicked(); -} - - -/*------------------------------------------------------------------------------ - * Change the state of the button to selected or not. - *----------------------------------------------------------------------------*/ -void -Button :: setSelected(bool toggle) throw () -{ - if (useSelected && stationaryState != disabledState) { - state = toggle ? selectedState : passiveState; - stationaryState = toggle ? selectedState : passiveState; - requestRedraw(); - } -} - - -/*------------------------------------------------------------------------------ - * Change the state of the button to selected or not. - *----------------------------------------------------------------------------*/ -void -Button :: setDisabled(bool toggle) throw () -{ - state = toggle ? disabledState : passiveState; - stationaryState = toggle ? disabledState : passiveState; - set_sensitive(!toggle); - requestRedraw(); -} - - -/*------------------------------------------------------------------------------ - * Mark the button 'dirty' and request a redraw. - *----------------------------------------------------------------------------*/ -void -Button :: requestRedraw(void) throw () -{ - Glib::RefPtr gdkWindow = get_window(); - - if (gdkWindow) { - Gdk::Region region = gdkWindow->get_visible_region(); - gdkWindow->invalidate_region(region, true /* true == recursive */); - } -} - diff --git a/campcaster/src/modules/widgets/src/ButtonImages.cxx b/campcaster/src/modules/widgets/src/ButtonImages.cxx deleted file mode 100644 index 4c07f3211..000000000 --- a/campcaster/src/modules/widgets/src/ButtonImages.cxx +++ /dev/null @@ -1,162 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/ButtonImages.h" - - -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - -/** - * The name of the passive left image. - */ -static const std::string passiveLeftName = "left.png"; - -/** - * The name of the passive center image. - */ -static const std::string passiveCenterName = "center.png"; - -/** - * The name of the passive right image. - */ -static const std::string passiveRightName = "right.png"; - -/** - * The name of the rollover left image - */ -static const std::string rollLeftName = "leftRoll.png"; - -/** - * The name of the rollover center image - */ -static const std::string rollCenterName = "centerRoll.png"; - -/** - * The name of the rollover right image - */ -static const std::string rollRightName = "rightRoll.png"; - -/** - * The name of the selected left image - */ -static const std::string selectedLeftName = "leftSel.png"; - -/** - * The name of the selected center image - */ -static const std::string selectedCenterName = "centerSel.png"; - -/** - * The name of the selected right image - */ -static const std::string selectedRightName = "rightSel.png"; - -/** - * The name of the disabled left image - */ -static const std::string disabledLeftName = "leftGray.png"; - -/** - * The name of the disabled center image - */ -static const std::string disabledCenterName = "centerGray.png"; - -/** - * The name of the disabled right image - */ -static const std::string disabledRightName = "rightGray.png"; - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor, based on relative path - *----------------------------------------------------------------------------*/ -ButtonImages :: ButtonImages(const std::string path) - throw () -{ - try { - passiveImageLeft = loadImage(path, passiveLeftName); - passiveImageCenter = loadImage(path, passiveCenterName); - passiveImageRight = loadImage(path, passiveRightName); - rollImageLeft = loadImage(path, rollLeftName); - rollImageCenter = loadImage(path, rollCenterName); - rollImageRight = loadImage(path, rollRightName); - selectedImageLeft = loadImage(path, selectedLeftName); - selectedImageCenter = loadImage(path, selectedCenterName); - selectedImageRight = loadImage(path, selectedRightName); - disabledImageLeft = loadImage(path, disabledLeftName); - disabledImageCenter = loadImage(path, disabledCenterName); - disabledImageRight = loadImage(path, disabledRightName); - } catch (std::invalid_argument &e) { - // just ignore, it's not polite to through exceptions from constructors - } -} - - -/*------------------------------------------------------------------------------ - * Load an image - *----------------------------------------------------------------------------*/ -Glib::RefPtr -ButtonImages :: loadImage(const std::string path, - const std::string imageName) - throw (std::invalid_argument) -{ - Glib::RefPtr image; - - bool success = true; - try { - image = Gdk::Pixbuf::create_from_file(path + imageName); - } catch (Glib::FileError &e) { - success = false; - } catch (Gdk::PixbufError &e) { - success = false; - } - - if (!success || !image) { - throw std::invalid_argument("Missing " + imageName); - } - - return image; -} - diff --git a/campcaster/src/modules/widgets/src/CornerImages.cxx b/campcaster/src/modules/widgets/src/CornerImages.cxx deleted file mode 100644 index e2e873197..000000000 --- a/campcaster/src/modules/widgets/src/CornerImages.cxx +++ /dev/null @@ -1,138 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/CornerImages.h" - - -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - -/** - * The name of the top left image. - */ -static const std::string topLeftName = "topLeft.png"; - -/** - * The name of the left image. - */ -static const std::string leftName = "left.png"; - -/** - * The name of the top image. - */ -static const std::string topName = "top.png"; - -/** - * The name of the top right image. - */ -static const std::string topRightName = "topRight.png"; - -/** - * The name of the right image. - */ -static const std::string rightName = "right.png"; - -/** - * The name of the bottom left image. - */ -static const std::string bottomLeftName = "bottomLeft.png"; - -/** - * The name of the bottom image. - */ -static const std::string bottomName = "bottom.png"; - -/** - * The name of the bottom right image. - */ -static const std::string bottomRightName = "bottomRight.png"; - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor, based on relative path - *----------------------------------------------------------------------------*/ -CornerImages :: CornerImages(const std::string path) - throw () -{ - try { - topLeftImage = loadImage(path, topLeftName); - leftImage = loadImage(path, leftName); - topImage = loadImage(path, topName); - topRightImage = loadImage(path, topRightName); - rightImage = loadImage(path, rightName); - bottomLeftImage = loadImage(path, bottomLeftName); - bottomImage = loadImage(path, bottomName); - bottomRightImage = loadImage(path, bottomRightName); - } catch (std::invalid_argument &e) { - // just ignore, it's not polite to through exceptions from constructors - } -} - - -/*------------------------------------------------------------------------------ - * Load an image - *----------------------------------------------------------------------------*/ -Glib::RefPtr -CornerImages :: loadImage(const std::string path, - const std::string imageName) - throw (std::invalid_argument) -{ - Glib::RefPtr image; - - bool success = true; - try { - image = Gdk::Pixbuf::create_from_file(path + imageName); - } catch (Glib::FileError &e) { - success = false; - } catch (Gdk::PixbufError &e) { - success = false; - } - - if (!success || !image) { - throw std::invalid_argument("Missing " + imageName); - } - - return image; -} - diff --git a/campcaster/src/modules/widgets/src/DialogWindow.cxx b/campcaster/src/modules/widgets/src/DialogWindow.cxx deleted file mode 100644 index 96c1f1143..000000000 --- a/campcaster/src/modules/widgets/src/DialogWindow.cxx +++ /dev/null @@ -1,204 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "LiveSupport/Widgets/WidgetFactory.h" -#include "LiveSupport/Widgets/Colors.h" -#include "LiveSupport/Widgets/Button.h" - -#include "LiveSupport/Widgets/DialogWindow.h" - - -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -DialogWindow :: DialogWindow (Ptr::Ref message, - int buttonTypes, - Ptr::Ref bundle) - throw () - : WhiteWindow(Colors::White, - WidgetFactory::getInstance()->getWhiteWindowCorners(), - WhiteWindow::hasNoTitle || WhiteWindow::isModal), - LocalizedObject(bundle) -{ - Ptr::Ref widgetFactory = WidgetFactory::getInstance(); - - Gtk::Label * messageLabel = Gtk::manage(new Gtk::Label(*message, - Gtk::ALIGN_CENTER, - Gtk::ALIGN_CENTER )); - messageLabel->set_justify(Gtk::JUSTIFY_CENTER); - - Gtk::Box * messageBox = Gtk::manage(new Gtk::HBox); - messageBox->pack_start(*messageLabel, true, false, 10); - - Gtk::ButtonBox * buttonBox = Gtk::manage(new Gtk::HButtonBox( - Gtk::BUTTONBOX_END, 5)); - - int buttonCount = 0; - try { - if (buttonTypes & cancelButton) { - Button * button = Gtk::manage(widgetFactory->createButton( - *getResourceUstring("cancelButtonLabel") )); - button->signal_clicked().connect(sigc::mem_fun(*this, - &DialogWindow::onCancelButtonClicked)); - buttonBox->pack_start(*button); - ++buttonCount; - } - - if (buttonTypes & noButton) { - Button * button = Gtk::manage(widgetFactory->createButton( - *getResourceUstring("noButtonLabel") )); - button->signal_clicked().connect(sigc::mem_fun(*this, - &DialogWindow::onNoButtonClicked)); - buttonBox->pack_start(*button); - ++buttonCount; - } - - if (buttonTypes & yesButton) { - Button * button = Gtk::manage(widgetFactory->createButton( - *getResourceUstring("yesButtonLabel") )); - button->signal_clicked().connect(sigc::mem_fun(*this, - &DialogWindow::onYesButtonClicked)); - buttonBox->pack_start(*button); - ++buttonCount; - } - - if (buttonTypes & okButton) { - Button * button = Gtk::manage(widgetFactory->createButton( - *getResourceUstring("okButtonLabel") )); - button->signal_clicked().connect(sigc::mem_fun(*this, - &DialogWindow::onOkButtonClicked)); - buttonBox->pack_start(*button); - ++buttonCount; - } - } catch (std::invalid_argument &e) { - std::cerr << e.what() << std::endl; - std::exit(1); - } - - Gtk::Box * bottomBox = Gtk::manage(new Gtk::HBox); - bottomBox->pack_start(*buttonBox, true, true, 10); - - Gtk::Box * layout = Gtk::manage(new Gtk::VBox); - layout->pack_start(*messageBox, true, false, 5); - layout->pack_start(*bottomBox, false, false, 0); - - set_default_size(100*buttonCount + 50, 120); - property_window_position().set_value(Gtk::WIN_POS_CENTER); - set_skip_taskbar_hint(true); // do not show in the task bar - set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG); - set_keep_above(true); - - add(*layout); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -DialogWindow :: ~DialogWindow (void) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Event handler for the Cancel button clicked - *----------------------------------------------------------------------------*/ -void -DialogWindow :: onCancelButtonClicked(void) throw () -{ - buttonClicked = cancelButton; - hide(); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the No button clicked. - *----------------------------------------------------------------------------*/ -void -DialogWindow :: onNoButtonClicked(void) throw () -{ - buttonClicked = noButton; - hide(); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the Yes button clicked. - *----------------------------------------------------------------------------*/ -void -DialogWindow :: onYesButtonClicked(void) throw () -{ - buttonClicked = yesButton; - hide(); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the OK button clicked. - *----------------------------------------------------------------------------*/ -void -DialogWindow :: onOkButtonClicked(void) throw () -{ - buttonClicked = okButton; - hide(); -} - - -/*------------------------------------------------------------------------------ - * Show the window and return the button clicked. - *----------------------------------------------------------------------------*/ -DialogWindow::ButtonType -DialogWindow :: run(void) throw () -{ - show_all(); - Gtk::Main::run(*this); - return buttonClicked; -} - diff --git a/campcaster/src/modules/widgets/src/EntryBin.cxx b/campcaster/src/modules/widgets/src/EntryBin.cxx deleted file mode 100644 index 619ae0fa8..000000000 --- a/campcaster/src/modules/widgets/src/EntryBin.cxx +++ /dev/null @@ -1,86 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - - -#include "LiveSupport/Widgets/EntryBin.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -EntryBin :: EntryBin(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages) - throw () - : BlueBin(backgroundColor, cornerImages) -{ - entry = Gtk::manage(new Gtk::Entry()); - entry->set_has_frame(false); - - // TODO: this doesn't change the background color, for some reason :( - entry->modify_bg(Gtk::STATE_NORMAL, getBgColor()); - - Glib::RefPtr style = entry->get_style(); - style->set_base(Gtk::STATE_NORMAL, getBgColor()); - style->set_base(Gtk::STATE_ACTIVE, getBgColor()); - style->set_base(Gtk::STATE_PRELIGHT, getBgColor()); - style->set_base(Gtk::STATE_SELECTED, getBgColor()); - style->set_base(Gtk::STATE_INSENSITIVE, getBgColor()); - entry->set_style(style); - - add(*entry); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -EntryBin :: ~EntryBin(void) throw () -{ -} - diff --git a/campcaster/src/modules/widgets/src/ImageButton.cxx b/campcaster/src/modules/widgets/src/ImageButton.cxx deleted file mode 100644 index c36c15d15..000000000 --- a/campcaster/src/modules/widgets/src/ImageButton.cxx +++ /dev/null @@ -1,331 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/Colors.h" -#include "LiveSupport/Widgets/ImageButton.h" - - -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -ImageButton :: ImageButton(Glib::RefPtr image) - throw () -{ - set_flags(Gtk::NO_WINDOW); - - state = passiveState; - this->passiveImage = image; - this->rollImage.clear(); - - // read the mask from a transparent PNG, and set it to this widget - Glib::RefPtr pixmap; - passiveImage->render_pixmap_and_mask(pixmap, passiveMask, 100); -} - - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -ImageButton :: ImageButton(Glib::RefPtr passiveImage, - Glib::RefPtr rollImage) - throw () -{ - set_flags(Gtk::NO_WINDOW); - - state = passiveState; - this->passiveImage = passiveImage; - this->rollImage = rollImage; - - // read the mask from a transparent PNG, and set it to this widget - Glib::RefPtr pixmap; - passiveImage->render_pixmap_and_mask(pixmap, passiveMask, 100); - rollImage->render_pixmap_and_mask(pixmap, rollMask, 100); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -ImageButton :: ~ImageButton(void) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Handle the size request event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_size_request(Gtk::Requisition* requisition) throw () -{ - *requisition = Gtk::Requisition(); - - requisition->width = passiveImage->get_width(); - requisition->height = passiveImage->get_height(); -} - - -/*------------------------------------------------------------------------------ - * Handle the size allocate event. - * We will not be given heights or widths less than we have requested, - * though we might get more. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_size_allocate(Gtk::Allocation& allocation) throw () -{ - allocation.set_width(passiveImage->get_width()); - allocation.set_height(passiveImage->get_height()); - set_allocation(allocation); - - if (gdkWindow) { - gdkWindow->move_resize( allocation.get_x(), - allocation.get_y(), - allocation.get_width(), - allocation.get_height() ); - } - - Gtk::Button::on_size_allocate(allocation); -} - - -/*------------------------------------------------------------------------------ - * Execute a function on all the children. - * As this widget has no children, don't do anything. - *----------------------------------------------------------------------------*/ -void -ImageButton :: forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Handle the add child widget event. - * As this widget has no children, don't do anything. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_add(Gtk::Widget* child) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Handle the remove child widget event. - * As this widget has no children, don't do anything. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_remove(Gtk::Widget* child) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Return what kind of widgets can be added to this container. - * As this widget has no children, return G_TYPE_NONE always. - *----------------------------------------------------------------------------*/ -GtkType -ImageButton :: child_type_vfunc() const throw () -{ - return G_TYPE_NONE; -} - - -/*------------------------------------------------------------------------------ - * Handle the map event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_map() throw () -{ - Gtk::Button::on_map(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unmap event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_unmap() throw () -{ - Gtk::Button::on_unmap(); -} - - -/*------------------------------------------------------------------------------ - * Handle the realize event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_realize() throw () -{ - // trick to make GTK-- allocate a window for the later get_window() call - set_flags(Gtk::NO_WINDOW); - Gtk::Button::on_realize(); - - if (!gdkWindow) { - // create the Gdk::Window, if it didn't exist before - - GdkWindowAttr attributes; - memset(&attributes, 0, sizeof(attributes)); - - Gtk::Allocation allocation = get_allocation(); - - // set initial position and size of the Gdk::Window - attributes.x = allocation.get_x(); - attributes.y = allocation.get_y(); - attributes.width = allocation.get_width(); - attributes.height = allocation.get_height(); - - attributes.event_mask = get_events () | Gdk::EXPOSURE_MASK; - attributes.window_type = GDK_WINDOW_CHILD; - attributes.wclass = GDK_INPUT_OUTPUT; - - - gdkWindow = Gdk::Window::create(get_window(), - &attributes, - GDK_WA_X | GDK_WA_Y); - unset_flags(Gtk::NO_WINDOW); - set_window(gdkWindow); - - Gdk::Color bgColor = Colors::getColor(Colors::White); - modify_bg(Gtk::STATE_NORMAL, bgColor); - - // make the widget receive expose events - gdkWindow->set_user_data(gobj()); - - // allocate a GC for use in on_expose_event() - gc = Gdk::GC::create(gdkWindow); - } -} - - -/*------------------------------------------------------------------------------ - * Handle the unrealize event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_unrealize() throw () -{ - gdkWindow.clear(); - gc.clear(); - - Gtk::Button::on_unrealize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the expose event. - *----------------------------------------------------------------------------*/ -bool -ImageButton :: on_expose_event(GdkEventExpose* event) throw () -{ - if (event->count > 0) { - return false; - } - - if (gdkWindow) { - gdkWindow->clear(); - - Glib::RefPtr image; - Glib::RefPtr mask; - - switch (state) { - case passiveState: - default: - image = passiveImage; - mask = passiveMask; - break; - - case rollState: - image = rollImage ? rollImage : passiveImage; - mask = rollMask ? rollMask : passiveMask; - break; - } - - // set the transparency mask - get_window()->shape_combine_mask(mask, 0, 0); - - // just draw the button image at the centre of the available space - int x = (get_width() - image->get_width()) / 2; - int y = (get_height() - image->get_height()) / 2; - - image->render_to_drawable(gdkWindow, - get_style()->get_white_gc(), - 0, 0, - x, - y, - image->get_width(), - image->get_height(), - Gdk::RGB_DITHER_NONE, - 0, 0); - } - - return false; -} - - -/*------------------------------------------------------------------------------ - * Handle the mouse enter event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_enter(void) throw () -{ - state = rollState; - - Gtk::Button::on_enter(); -} - - -/*------------------------------------------------------------------------------ - * Handle the mouse leave event. - *----------------------------------------------------------------------------*/ -void -ImageButton :: on_leave(void) throw () -{ - state = passiveState; - - Gtk::Button::on_leave(); -} - diff --git a/campcaster/src/modules/widgets/src/MasterPanelBin.cxx b/campcaster/src/modules/widgets/src/MasterPanelBin.cxx deleted file mode 100644 index 4dceb5622..000000000 --- a/campcaster/src/modules/widgets/src/MasterPanelBin.cxx +++ /dev/null @@ -1,162 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author: fgerlits $ - Version : $Revision$ - Location : $URL: svn+ssh://fgerlits@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/src/modules/widgets/src/MasterPanelBin.cxx $ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - - -#include "LiveSupport/Widgets/WidgetFactory.h" - -#include "LiveSupport/Widgets/MasterPanelBin.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -MasterPanelBin :: MasterPanelBin(void) - throw () - : BlueBin(Colors::White, - WidgetFactory::getInstance()->getWhiteWindowCorners(), - false /*transparent corners*/) -{ -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -MasterPanelBin :: ~MasterPanelBin(void) throw () -{ - on_remove(child); -} - - -/*------------------------------------------------------------------------------ - * Handle the size request event. - *----------------------------------------------------------------------------*/ -void -MasterPanelBin :: on_size_request(Gtk::Requisition* requisition) throw () -{ - *requisition = Gtk::Requisition(); - - int width = 0; - int height = 0; - - if (child) { - Gtk::Requisition childRequisition = child->size_request(); - width = childRequisition.width; - height = childRequisition.height; - } - - requisition->width = width; - requisition->height = height - + cornerImages->bottomImage->get_height(); -} - - -/*------------------------------------------------------------------------------ - * Handle the size allocate event. - * We will not be given heights or widths less than we have requested, - * though we might get more. - *----------------------------------------------------------------------------*/ -void -MasterPanelBin :: on_size_allocate(Gtk::Allocation& allocation) throw () -{ - set_allocation(allocation); - - if (gdkWindow) { - gdkWindow->move_resize( allocation.get_x(), - allocation.get_y(), - allocation.get_width(), - allocation.get_height() ); - } - - if (child) { - Gtk::Allocation childAlloc; - - childAlloc.set_x(0); - childAlloc.set_y(0); - childAlloc.set_width(allocation.get_width()); - childAlloc.set_height(allocation.get_height() - - cornerImages->bottomImage->get_height()); - - child->size_allocate(childAlloc); - } - - Gtk::Bin::on_size_allocate(allocation); -} - - -/*------------------------------------------------------------------------------ - * Handle the expose event. - *----------------------------------------------------------------------------*/ -bool -MasterPanelBin :: on_expose_event(GdkEventExpose* event) throw () -{ - if (event->count > 0) { - return false; - } - - int width = get_width(); - int height = get_height(); - - if (gdkWindow) { - gdkWindow->clear(); - - // draw the bottom side as many times as necessary - for (int x = 0; x < width; - x += cornerImages->bottomImage->get_width()) { - renderImage(cornerImages->bottomImage, - x, - height - cornerImages->bottomImage->get_height()); - } - } - - Gtk::Bin::on_expose_event(event); - - return false; -} - diff --git a/campcaster/src/modules/widgets/src/Notebook.cxx b/campcaster/src/modules/widgets/src/Notebook.cxx deleted file mode 100644 index 5e720b195..000000000 --- a/campcaster/src/modules/widgets/src/Notebook.cxx +++ /dev/null @@ -1,284 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "LiveSupport/Widgets/WidgetFactory.h" -#include "LiveSupport/Widgets/Notebook.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -Notebook :: Notebook(void) throw () -{ - layout = Gtk::manage(new Gtk::VBox()); - tabBox = Gtk::manage(new Gtk::HBox()); - pageHolder = Gtk::manage(new Gtk::Alignment()); - - layout->pack_start(*tabBox, Gtk::PACK_SHRINK, 0); - layout->pack_start(*pageHolder, Gtk::PACK_EXPAND_WIDGET, 0); - - add(*layout); - - // show all - show_all(); - - activePage = 0; -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -Notebook :: ~Notebook(void) throw () -{ - while (!pageList.empty()) { - Page * page = pageList.back(); - pageList.pop_back(); - delete page; - } -} - - -/*------------------------------------------------------------------------------ - * Handle the size request event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_size_request(Gtk::Requisition* requisition) throw () -{ - *requisition = Gtk::Requisition(); - - Gtk::Requisition layoutRequisition = layout->size_request(); - requisition->width = layoutRequisition.width; - requisition->height = layoutRequisition.height; -} - - -/*------------------------------------------------------------------------------ - * Handle the size allocate event. - * We will not be given heights or widths less than we have requested, - * though we might get more. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_size_allocate(Gtk::Allocation& allocation) throw () -{ - Gtk::Alignment::on_size_allocate(allocation); -} - - -/*------------------------------------------------------------------------------ - * Execute a function on all the children. - *----------------------------------------------------------------------------*/ -void -Notebook :: forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) throw () -{ - Gtk::Alignment::forall_vfunc(includeInternals, callback, callbackData); -} - - -/*------------------------------------------------------------------------------ - * Handle the add child widget event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_add(Gtk::Widget* child) throw () -{ - Gtk::Alignment::on_add(child); -} - - -/*------------------------------------------------------------------------------ - * Handle the remove child widget event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_remove(Gtk::Widget* child) throw () -{ - Gtk::Alignment::on_remove(child); -} - - -/*------------------------------------------------------------------------------ - * Return what kind of widgets can be added to this container. - *----------------------------------------------------------------------------*/ -GtkType -Notebook :: child_type_vfunc() const throw () -{ - return Gtk::Alignment::child_type_vfunc(); -} - - -/*------------------------------------------------------------------------------ - * Handle the map event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_map() throw () -{ - Gtk::Alignment::on_map(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unmap event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_unmap() throw () -{ - Gtk::Alignment::on_unmap(); -} - - -/*------------------------------------------------------------------------------ - * Handle the realize event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_realize() throw () -{ - Gtk::Alignment::on_realize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unrealize event. - *----------------------------------------------------------------------------*/ -void -Notebook :: on_unrealize() throw () -{ - Gtk::Alignment::on_unrealize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the expose event. - *----------------------------------------------------------------------------*/ -bool -Notebook :: on_expose_event(GdkEventExpose* event) throw () -{ - return Gtk::Alignment::on_expose_event(event); -} - - -/*------------------------------------------------------------------------------ - * Append a page to the notebook - *----------------------------------------------------------------------------*/ -void -Notebook :: appendPage(Gtk::Widget & widget, - const Glib::ustring & label) throw () -{ - Ptr::Ref wf = WidgetFactory::getInstance(); - Button * button = wf->createButton(label, - WidgetConstants::tabButton); - - Page * page = new Page(this, pageList.size(), &widget, button); - pageList.push_back(page); - - pagesAdded(); -} - - -/*------------------------------------------------------------------------------ - * Prepare the visuals for the widget - *----------------------------------------------------------------------------*/ -void -Notebook :: pagesAdded(void) throw () -{ - // clean already existing widgets - tabBox->children().clear(); - - // build up the widgets based on the current pages - PageList::iterator pagesIt = pageList.begin(); - PageList::iterator pagesEnd = pageList.end(); - - while (pagesIt != pagesEnd) { - Page * page = *pagesIt; - - tabBox->pack_start(*page->button, Gtk::PACK_SHRINK, 0); - page->button->signal_clicked().connect(sigc::mem_fun(*page, - &Notebook::Page::onTabClicked)); - pagesIt++; - } - - // reset the active page to 0, and show it - setActivePage(0); -} - - -/*------------------------------------------------------------------------------ - * Make a page active - *----------------------------------------------------------------------------*/ -void -Notebook :: setActivePage(unsigned int pageNo) throw () -{ - if (pageNo >= pageList.size()) { - return; - } - - pageList[activePage]->button->setSelected(false); - pageList[activePage]->container->hide(); - pageHolder->remove(); - activePage = pageNo; - pageHolder->add(*(pageList[pageNo]->container)); - pageList[pageNo]->button->setSelected(true); - show_all(); -} - - -/*------------------------------------------------------------------------------ - * Enable or disable a page in the notebook. - *----------------------------------------------------------------------------*/ -void -Notebook :: setPageSensitive(unsigned int pageNo, - bool sensitive) throw () -{ - if (pageNo < pageList.size()) { - pageList[pageNo]->button->setDisabled(!sensitive); - } -} - diff --git a/campcaster/src/modules/widgets/src/RadioButtons.cxx b/campcaster/src/modules/widgets/src/RadioButtons.cxx deleted file mode 100644 index 4e7c620d8..000000000 --- a/campcaster/src/modules/widgets/src/RadioButtons.cxx +++ /dev/null @@ -1,90 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author: fgerlits $ - Version : $Revision$ - Location : $URL: svn+ssh://fgerlits@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/src/modules/widgets/src/RadioButtons.cxx $ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/RadioButtons.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Add a new radio button. - *----------------------------------------------------------------------------*/ -void -RadioButtons :: add(Ptr::Ref label) throw () -{ - Gtk::RadioButton * button; - - if (buttons.size() == 0) { - button = Gtk::manage(new Gtk::RadioButton(*label)); - } else { - Gtk::RadioButton * firstButton = buttons.front(); - Gtk::RadioButton::Group group = firstButton->get_group(); - button = Gtk::manage(new Gtk::RadioButton(group, *label)); - } - - buttons.push_back(button); - pack_start(*button, Gtk::PACK_SHRINK, 5); -} - - -/*------------------------------------------------------------------------------ - * Return the number of the active (selected) button. - *----------------------------------------------------------------------------*/ -int -RadioButtons :: getActiveButton(void) const throw () -{ - int i = -1; - - for (i = 0; i < int(buttons.size()); ++i) { - if (buttons[i]->get_active()) { - break; - } - } - - return i; -} - diff --git a/campcaster/src/modules/widgets/src/ScrolledNotebook.cxx b/campcaster/src/modules/widgets/src/ScrolledNotebook.cxx deleted file mode 100644 index 84bdd6996..000000000 --- a/campcaster/src/modules/widgets/src/ScrolledNotebook.cxx +++ /dev/null @@ -1,67 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include "LiveSupport/Widgets/ScrolledWindow.h" -#include "LiveSupport/Widgets/ScrolledNotebook.h" - - -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Append a page to the notebook - *----------------------------------------------------------------------------*/ -void -ScrolledNotebook :: appendPage(Gtk::Widget & widget, - const Glib::ustring & label) throw () -{ - ScrolledWindow * scrolledWindow = Gtk::manage(new ScrolledWindow); - scrolledWindow->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); - - scrolledWindow->add(widget); - - Notebook::appendPage(*scrolledWindow, label); -} - diff --git a/campcaster/src/modules/widgets/src/ScrolledWindow.cxx b/campcaster/src/modules/widgets/src/ScrolledWindow.cxx deleted file mode 100644 index db5f23d82..000000000 --- a/campcaster/src/modules/widgets/src/ScrolledWindow.cxx +++ /dev/null @@ -1,94 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include -#include - -#include "LiveSupport/Widgets/WidgetFactory.h" -#include "LiveSupport/Widgets/ScrolledWindow.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -ScrolledWindow :: ScrolledWindow(void) throw () - : Gtk::ScrolledWindow(), - useShadowType(false) -{ -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -ScrolledWindow :: ~ScrolledWindow(void) throw () -{ -} - - -/*------------------------------------------------------------------------------ - * Handle the realize event. - *----------------------------------------------------------------------------*/ -void -ScrolledWindow :: on_realize() throw () -{ - Gdk::Color bgColor = Colors::getColor(Colors::WindowBackground); - Widget * child = get_child(); - child->modify_bg(Gtk::STATE_NORMAL, bgColor); - - if (useShadowType) { - Gtk::Viewport * viewport = dynamic_cast(child); - if (viewport) { - viewport->set_shadow_type(shadowType); - } - } - - Gtk::ScrolledWindow::on_realize(); -} - diff --git a/campcaster/src/modules/widgets/src/TestWindow.h b/campcaster/src/modules/widgets/src/TestWindow.h index 78944e42a..8a98666d2 100644 --- a/campcaster/src/modules/widgets/src/TestWindow.h +++ b/campcaster/src/modules/widgets/src/TestWindow.h @@ -40,20 +40,12 @@ #include "configure.h" #endif -#include -#include -#include +#include +#include #include "LiveSupport/Core/Ptr.h" -#include "LiveSupport/Widgets/Button.h" -#include "LiveSupport/Widgets/ImageButton.h" #include "LiveSupport/Widgets/ComboBoxText.h" -#include "LiveSupport/Widgets/BlueBin.h" -#include "LiveSupport/Widgets/EntryBin.h" -#include "LiveSupport/Widgets/Notebook.h" -#include "LiveSupport/Widgets/WhiteWindow.h" -#include "LiveSupport/Widgets/DialogWindow.h" namespace LiveSupport { @@ -75,9 +67,10 @@ using namespace LiveSupport::Core; * @author $Author$ * @version $Revision$ */ -class TestWindow : public WhiteWindow +class TestWindow : public LocalizedObject { private: + /** * Change the image from "play" to "stop" on the button when pressed. */ @@ -90,72 +83,43 @@ class TestWindow : public WhiteWindow void onStopButtonClicked(void) throw (); - /** - * The resource bundle. - */ - Ptr::Ref bundle; - /** * The "are you sure?" dialog window. */ - Ptr::Ref dialogWindow; + Ptr::Ref dialogWindow; protected: - /** - * The layout used in the window. - */ - Gtk::Table * layout; /** - * A notebook, to tab through pages. + * A large button. */ - Notebook * notebook; + Gtk::Button * largeButton; /** - * An image button with transparent background. + * A button showing a "play" icon. */ - ImageButton * hugeImageButton; + Gtk::Button * cuePlayButton; /** - * A clickable image button showing a "play" icon. + * A button showing a "stop" icon. */ - ImageButton * cuePlayImageButton; - - /** - * A clickable image button showing a "stop" icon. - */ - ImageButton * cueStopImageButton; + Gtk::Button * cueStopButton; /** * A button. */ - Button * button; + Gtk::Button * button; /** * A button which sometimes gets disabled. */ - Button * disableTestButton; + Gtk::Button * disableTestButton; /** * A combo box. */ - ComboBoxText * comboBoxText; - - /** - * A text entry. - */ - Gtk::Entry * entry; - - /** - * A container holding a text entry. - */ - EntryBin * entryBin; - - /** - * A blue container. - */ - BlueBin * blueBin; + ComboBoxText * comboBoxText; /** * Event handler for the large button being clicked. @@ -172,6 +136,7 @@ class TestWindow : public WhiteWindow public: + /** * Constructor. */ diff --git a/campcaster/src/modules/widgets/src/WhiteWindow.cxx b/campcaster/src/modules/widgets/src/WhiteWindow.cxx deleted file mode 100644 index 7a9bbd193..000000000 --- a/campcaster/src/modules/widgets/src/WhiteWindow.cxx +++ /dev/null @@ -1,417 +0,0 @@ -/*------------------------------------------------------------------------------ - - Copyright (c) 2004 Media Development Loan Fund - - This file is part of the Campcaster project. - http://campcaster.campware.org/ - To report bugs, send an e-mail to bugs@campware.org - - Campcaster 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. - - Campcaster 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 Campcaster; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Author : $Author$ - Version : $Revision$ - Location : $URL$ - -------------------------------------------------------------------------------*/ - -/* ============================================================ include files */ - -#ifdef HAVE_CONFIG_H -#include "configure.h" -#endif - -#include - -#include "LiveSupport/Widgets/WidgetFactory.h" - -#include "LiveSupport/Widgets/WhiteWindow.h" - - -using namespace LiveSupport::Core; -using namespace LiveSupport::Widgets; - -/* =================================================== local data structures */ - - -/* ================================================ local constants & macros */ - -namespace { - -/*------------------------------------------------------------------------------ - * The font used for the window title. - *----------------------------------------------------------------------------*/ -const Glib::ustring windowTitleFont = "Bitstream Vera Sans Bold 8"; - -} - -/* =============================================== local function prototypes */ - - -/* ============================================================= module code */ - -/*------------------------------------------------------------------------------ - * Constructor. - *----------------------------------------------------------------------------*/ -WhiteWindow :: WhiteWindow(Colors::ColorName backgroundColor, - Ptr::Ref cornerImages, - int properties) - throw () - : Gtk::Window(Gtk::WINDOW_TOPLEVEL), - isMaximized(false) -{ - Ptr::Ref wf = WidgetFactory::getInstance(); - - set_decorated(false); - defaultWidth = -1; - defaultHeight = -1; - set_resizable(!(properties & isNotResizable)); - set_modal(properties & isModal); - - layout = Gtk::manage(new Gtk::Table()); - - // create the background color, as it is needed by the event box - Gdk::Color bgColor = Colors::getColor(backgroundColor); - - // create the title - Gtk::Box * titleBox = Gtk::manage(new Gtk::VBox()); - titleLabel = 0; - - if (!(properties & hasNoTitle)) { - Gtk::Image * titleImage = Gtk::manage(wf->createImage( - WidgetConstants::windowTitleLogoImage)); - - titleLabel = Gtk::manage(new Gtk::Label()); - titleLabel->modify_font(Pango::FontDescription(windowTitleFont)); - titleLabel->modify_fg(Gtk::STATE_NORMAL, Colors::getColor( - Colors::Orange)); - - titleBox->pack_start(*titleImage, Gtk::PACK_SHRINK, 0); - titleBox->pack_start(*titleLabel, Gtk::PACK_SHRINK, 2); - } - - titleBox->modify_bg(Gtk::STATE_NORMAL, bgColor); - titleAlignment = Gtk::manage(new Gtk::Alignment(Gtk::ALIGN_LEFT, - Gtk::ALIGN_CENTER, - 0, 0)); - titleAlignment->add(*titleBox); - layout->attach(*titleAlignment, 0, 1, 0, 1, Gtk::FILL, Gtk::SHRINK); - - // create the minimize, maximize and close buttons - Gtk::Box * cornerButtonBox = Gtk::manage(new Gtk::HBox); - - int padding = 5; - if (!(properties & isModal)) { - closeButton = Gtk::manage(wf->createButton( - WidgetConstants::windowCloseButton)); - cornerButtonBox->pack_end(*closeButton, Gtk::PACK_SHRINK, padding); - padding = 0; - closeButton->signal_clicked().connect(sigc::mem_fun(*this, - &WhiteWindow::onCloseButtonClicked)); - } - if (!(properties & isNotResizable)) { - maximizeButton = Gtk::manage(wf->createButton( - WidgetConstants::windowMaximizeButton)); - cornerButtonBox->pack_end(*maximizeButton, Gtk::PACK_SHRINK, padding); - padding = (padding == 0) ? 5 : 0; - maximizeButton->signal_clicked().connect(sigc::mem_fun(*this, - &WhiteWindow::onMaximizeButtonClicked)); - - minimizeButton = Gtk::manage(wf->createButton( - WidgetConstants::windowMinimizeButton)); - cornerButtonBox->pack_end(*minimizeButton, Gtk::PACK_SHRINK, padding); - minimizeButton->signal_clicked().connect(sigc::mem_fun(*this, - &WhiteWindow::onMinimizeButtonClicked)); - } - - cornerButtonAlignment = Gtk::manage(new Gtk::Alignment(Gtk::ALIGN_RIGHT, - Gtk::ALIGN_CENTER, - 0, 0)); - cornerButtonAlignment->add(*cornerButtonBox); - layout->attach(*cornerButtonAlignment, 1, 2, 0, 1, - Gtk::FILL, Gtk::SHRINK); - - // add the child container - childContainer = Gtk::manage(new Gtk::Alignment(Gtk::ALIGN_CENTER)); - layout->attach(*childContainer, 0, 2, 1, 2); - - // create the resize image - if (!(properties & isNotResizable)) { - resizeImage = Gtk::manage(wf->createImage(WidgetConstants::resizeImage)); - resizeEventBox = Gtk::manage(new Gtk::EventBox()); - resizeEventBox->modify_bg(Gtk::STATE_NORMAL, bgColor); - resizeEventBox->add(*resizeImage); - resizeAlignment = Gtk::manage(new Gtk::Alignment(Gtk::ALIGN_RIGHT, - Gtk::ALIGN_CENTER, - 0, 0)); - resizeAlignment->add(*resizeEventBox); - layout->attach(*resizeAlignment, 1, 2, 2, 3, Gtk::FILL, Gtk::SHRINK); - - resizeEventBox->add_events(Gdk::BUTTON_PRESS_MASK); - resizeEventBox->signal_button_press_event().connect(sigc::mem_fun(*this, - &WhiteWindow::onResizeClicked)); - } - - // add the corners - blueBin = Gtk::manage(new BlueBin(backgroundColor, cornerImages, true)); - blueBin->add(*layout); - Gtk::Window::add(*blueBin); - - // register signal handlers - this->add_events(Gdk::BUTTON_PRESS_MASK); - this->signal_button_press_event().connect(sigc::mem_fun(*this, - &WhiteWindow::onTitleClicked)); -} - - -/*------------------------------------------------------------------------------ - * Destructor. - *----------------------------------------------------------------------------*/ -WhiteWindow :: ~WhiteWindow(void) throw () -{ - on_remove(blueBin); -} - - -/*------------------------------------------------------------------------------ - * Handle the size request event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_size_request(Gtk::Requisition* requisition) throw () -{ - Gtk::Window::on_size_request(requisition); - - if (defaultWidth >= 0 && requisition->width < defaultWidth) { - requisition->width = defaultWidth; - } - if (defaultHeight >= 0 && requisition->height < defaultHeight) { - requisition->height = defaultHeight; - } -} - - -/*------------------------------------------------------------------------------ - * Handle the size allocate event. - * We will not be given heights or widths less than we have requested, - * though we might get more. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_size_allocate(Gtk::Allocation& allocation) throw () -{ - Gtk::Window::on_size_allocate(allocation); -} - - -/*------------------------------------------------------------------------------ - * Execute a function on all the children. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: forall_vfunc(gboolean includeInternals, - GtkCallback callback, - gpointer callbackData) throw () -{ - Gtk::Window::forall_vfunc(includeInternals, callback, callbackData); -} - - -/*------------------------------------------------------------------------------ - * Handle the add child widget event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_add(Gtk::Widget* child) throw () -{ - if (child == blueBin) { - Gtk::Window::on_add(child); - } else { - childContainer->add(*child); - } -} - - -/*------------------------------------------------------------------------------ - * Handle the remove child widget event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_remove(Gtk::Widget* child) throw () -{ - if (child) { - if (child == blueBin && child->get_parent() == this) { - Gtk::Window::on_remove(child); - } else if (child == childContainer->get_child()) { - childContainer->remove(); - } - } -} - - -/*------------------------------------------------------------------------------ - * Return what kind of widgets can be added to this container. - *----------------------------------------------------------------------------*/ -GtkType -WhiteWindow :: child_type_vfunc() const throw () -{ - return Gtk::Window::child_type_vfunc(); -} - - -/*------------------------------------------------------------------------------ - * Handle the map event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_map() throw () -{ - Gtk::Window::on_map(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unmap event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_unmap() throw () -{ - Gtk::Window::on_unmap(); -} - - -/*------------------------------------------------------------------------------ - * Handle the realize event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_realize() throw () -{ - Gtk::Window::on_realize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the unrealize event. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: on_unrealize() throw () -{ - Gtk::Window::on_unrealize(); -} - - -/*------------------------------------------------------------------------------ - * Handle the expose event. - *----------------------------------------------------------------------------*/ -bool -WhiteWindow :: on_expose_event(GdkEventExpose* event) throw () -{ - return Gtk::Window::on_expose_event(event); -} - - -/*------------------------------------------------------------------------------ - * The event of the title being clicked - *----------------------------------------------------------------------------*/ -bool -WhiteWindow :: onTitleClicked(GdkEventButton * event) throw () -{ - if (event->button == 1) { - begin_move_drag(event->button, - (int) event->x_root, - (int) event->y_root, - event->time); - } - - return false; -} - - -/*------------------------------------------------------------------------------ - * Event handler for the close button getting clicked. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: onMinimizeButtonClicked (void) throw () -{ - iconify(); -} - - -/*------------------------------------------------------------------------------ - * Event handler for the maximize button getting clicked. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: onMaximizeButtonClicked (void) throw () -{ - if (isMaximized) { - unmaximize(); - isMaximized = false; - } else { - maximize(); - isMaximized = true; - } -} - - -/*------------------------------------------------------------------------------ - * Event handler for the close button getting clicked. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: onCloseButtonClicked (void) throw () -{ - hide(); -} - - -/*------------------------------------------------------------------------------ - * Set the title of the window. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: setTitle(const Glib::ustring & title, - const Glib::ustring & applicationTitle) - throw () -{ - Gtk::Window::set_title(title + " - " + applicationTitle); - if (titleLabel) { - titleLabel->set_label(title.uppercase()); - } -} - - -/*------------------------------------------------------------------------------ - * Set the default window size. - *----------------------------------------------------------------------------*/ -void -WhiteWindow :: set_default_size(int width, - int height) throw () -{ - defaultWidth = width; - defaultHeight = height; -} - - -/*------------------------------------------------------------------------------ - * The event of the resize image being clicked - *----------------------------------------------------------------------------*/ -bool -WhiteWindow :: onResizeClicked(GdkEventButton * event) throw () -{ - if (event->button == 1) { - begin_resize_drag(Gdk::WINDOW_EDGE_SOUTH_EAST, - event->button, - (int) event->x_root, - (int) event->y_root, - event->time); - return true; - - } else { - return false; - } -} - diff --git a/campcaster/src/modules/widgets/src/WidgetFactory.cxx b/campcaster/src/modules/widgets/src/WidgetFactory.cxx index 0f4aab435..5b073789d 100644 --- a/campcaster/src/modules/widgets/src/WidgetFactory.cxx +++ b/campcaster/src/modules/widgets/src/WidgetFactory.cxx @@ -33,13 +33,6 @@ #include "configure.h" #endif -#include -#include -#include -#include - -#include "LiveSupport/Widgets/Colors.h" - #include "LiveSupport/Widgets/WidgetFactory.h" @@ -54,258 +47,36 @@ using namespace LiveSupport::Widgets; /*------------------------------------------------------------------------------ * The name of the config element for this class *----------------------------------------------------------------------------*/ -const std::string WidgetFactory::configElementNameStr = "widgetFactory"; +const std::string WidgetFactory::configElementNameStr = "widgetFactory"; /*------------------------------------------------------------------------------ * The singleton instance of WidgetFactory *----------------------------------------------------------------------------*/ Ptr::Ref WidgetFactory::singleton; -/** +namespace { + +/*------------------------------------------------------------------------------ * The name of the attribute to get the path for the widget images. - */ -static const std::string pathAttrName = "path"; + *----------------------------------------------------------------------------*/ +const std::string pathAttrName = "path"; -/** +/*------------------------------------------------------------------------------ * The relative path for the standard button images. - */ -static const std::string buttonPath = "button/"; + *----------------------------------------------------------------------------*/ +const std::string buttonPath = "button/"; -/** - * The relative path for the tab button images. - */ -static const std::string tabButtonPath = "tabButton/"; - -/** - * The relative path for the blue bin images. - */ -static const std::string blueBinPath = "blueBin/"; - -/** - * The relative path for the dark blue bin images. - */ -static const std::string darkBlueBinPath = "darkBlueBin/"; - -/** - * The relative path for the entry bin images. - */ -static const std::string entryBinPath = "entryBin/"; - -/** - * The relative path for the white window images. - */ -static const std::string whiteWindowPath = "whiteWindow/"; - -/** - * The name of the passive image for the delete button. - */ -static const std::string deleteButtonPassiveName = "imageButton/delete.png"; - -/** - * The name of the rollover image for the delete button. - */ -static const std::string deleteButtonRollName = "imageButton/deleteRoll.png"; - -/** - * The name of the passive image for the plus button. - */ -static const std::string plusButtonPassiveName = "imageButton/plus.png"; - -/** - * The name of the rollover image for the plus button. - */ -static const std::string plusButtonRollName = "imageButton/plusRoll.png"; - -/** - * The name of the passive image for the minus button. - */ -static const std::string minusButtonPassiveName = "imageButton/minus.png"; - -/** - * The name of the rollover image for the minus button. - */ -static const std::string minusButtonRollName = "imageButton/minusRoll.png"; - -/** - * The name of the passive image for the small play button. - */ -static const std::string smallPlayButtonPassiveName - = "imageButton/smallPlay.png"; - -/** - * The name of the rollover image for the small play button. - */ -static const std::string smallPlayButtonRollName - = "imageButton/smallPlayRoll.png"; - -/** - * The name of the passive image for the small pause button. - */ -static const std::string smallPauseButtonPassiveName - = "imageButton/smallPause.png"; - -/** - * The name of the rollover image for the small pause button. - */ -static const std::string smallPauseButtonRollName - = "imageButton/smallPauseRoll.png"; - -/** - * The name of the passive image for the small stop button. - */ -static const std::string smallStopButtonPassiveName - = "imageButton/smallStop.png"; - -/** - * The name of the rollover image for the small stop button. - */ -static const std::string smallStopButtonRollName - = "imageButton/smallStopRoll.png"; - -/** - * The name of the passive image for the huge play button. - */ -static const std::string hugePlayButtonPassiveName - = "imageButton/hugePlay.png"; - -/** - * The name of the rollover image for the huge play button. - */ -static const std::string hugePlayButtonRollName - = "imageButton/hugePlayRoll.png"; - -/** - * The name of the passive image for the cue play button. - */ -static const std::string cuePlayButtonPassiveName - = "imageButton/cuePlay.png"; - -/** - * The name of the rollover image for the cue play button. - */ -static const std::string cuePlayButtonRollName - = "imageButton/cuePlayRoll.png"; - -/** - * The name of the passive image for the cue stop button. - */ -static const std::string cueStopButtonPassiveName - = "imageButton/cueStop.png"; - -/** - * The name of the rollover image for the cue stop button. - */ -static const std::string cueStopButtonRollName - = "imageButton/cueStopRoll.png"; - -/** - * The name of the passive image for the master panel play button. - */ -static const std::string masterPlayButtonPassiveName - = "imageButton/masterPlay.png"; - -/** - * The name of the rollover image for the master panel play button. - */ -static const std::string masterPlayButtonRollName - = "imageButton/masterPlayRoll.png"; - -/** - * The name of the passive image for the master panel pause button. - */ -static const std::string masterPauseButtonPassiveName - = "imageButton/masterPause.png"; - -/** - * The name of the rollover image for the master panel pause button. - */ -static const std::string masterPauseButtonRollName - = "imageButton/masterPauseRoll.png"; - -/** - * The name of the passive image for the master panel stop button. - */ -static const std::string masterStopButtonPassiveName - = "imageButton/masterStop.png"; - -/** - * The name of the rollover image for the master panel stop button. - */ -static const std::string masterStopButtonRollName - = "imageButton/masterStopRoll.png"; - -/** - * The name of the combo box left image. - */ -static const std::string comboBoxLeftName = "combo/left.png"; - -/** - * The name of the combo box center image. - */ -static const std::string comboBoxCenterName = "combo/center.png"; - -/** - * The name of the combo box right image. - */ -static const std::string comboBoxRightName = "combo/right.png"; - -/** - * The name of the image for the resize handle. - */ -static const std::string resizeImageName = "whiteWindow/resize.png"; - -/** - * The name of the image for the title logo of the GUI windows. - */ -static const std::string windowTitleLogoImageName - = "whiteWindow/windowTitleLogo.png"; - -/** +/*------------------------------------------------------------------------------ * The name of the image for the audio clip icon. - */ -static const std::string audioClipIconImageName = "icons/audioClipIcon.png"; + *----------------------------------------------------------------------------*/ +const std::string audioClipIconImageName = "icons/audioClipIcon.png"; -/** +/*------------------------------------------------------------------------------ * The name of the image for the playlist icon. - */ -static const std::string playlistIconImageName = "icons/playlistIcon.png"; - -/** - * The name of the passive image for the minimize window button. - */ -static const std::string windowMinimizeButtonPassiveName - = "imageButton/windowMin.png"; - -/** - * The name of the rollover image for the minimize window button. - */ -static const std::string windowMinimizeButtonRollName - = "imageButton/windowMinRoll.png"; - -/** - * The name of the passive image for the maximize window button. - */ -static const std::string windowMaximizeButtonPassiveName - = "imageButton/windowMax.png"; - -/** - * The name of the rollover image for the maximize window button. - */ -static const std::string windowMaximizeButtonRollName - = "imageButton/windowMaxRoll.png"; - -/** - * The name of the passive image for the close window button. - */ -static const std::string windowCloseButtonPassiveName - = "imageButton/windowClose.png"; - -/** - * The name of the rollover image for the close window button. - */ -static const std::string windowCloseButtonRollName - = "imageButton/windowCloseRoll.png"; + *----------------------------------------------------------------------------*/ +const std::string playlistIconImageName = "icons/playlistIcon.png"; +} /* =============================================== local function prototypes */ @@ -347,28 +118,6 @@ WidgetFactory :: configure(const xmlpp::Element & element) } path = attribute->get_value(); - // load the button images, and check if all exist - buttonImages.reset(new ButtonImages(path + buttonPath)); - tabButtonImages.reset(new ButtonImages(path + tabButtonPath)); - - // load the combo box images - comboBoxLeftImage = loadImage(comboBoxLeftName); - comboBoxCenterImage = loadImage(comboBoxCenterName); - comboBoxRightImage = loadImage(comboBoxRightName); - - // load the images for the bins - blueBinImages.reset(new CornerImages(path + blueBinPath)); - darkBlueBinImages.reset(new CornerImages(path + darkBlueBinPath)); - entryBinImages.reset(new CornerImages(path + entryBinPath)); - - // load the white window corner images - whiteWindowImages.reset(new CornerImages(path + whiteWindowPath)); - - // load the miscellaneous images - imageTypePixbufs[WidgetConstants::resizeImage] - = loadImage(resizeImageName); - imageTypePixbufs[WidgetConstants::windowTitleLogoImage] - = loadImage(windowTitleLogoImageName); imageTypePixbufs[WidgetConstants::audioClipIconImage] = loadImage(audioClipIconImageName); imageTypePixbufs[WidgetConstants::playlistIconImage] @@ -402,259 +151,6 @@ WidgetFactory :: loadImage(const std::string imageName) } -/*------------------------------------------------------------------------------ - * Create a generic button. - *----------------------------------------------------------------------------*/ -Button * -WidgetFactory :: createButton(Gtk::Widget & label, - WidgetConstants::ButtonType type) throw () -{ - Button * button = 0; - - switch (type) { - case WidgetConstants::pushButton: - button = new Button(label, buttonImages); - break; - - case WidgetConstants::radioButton: - button = new Button(label, buttonImages); - button->setUseSelected(true); - break; - - case WidgetConstants::tabButton: - button = new Button(label, tabButtonImages); - button->setUseSelected(true); - break; - - default: - break; - } - - return button; -} - - -/*------------------------------------------------------------------------------ - * Create a text button. - *----------------------------------------------------------------------------*/ -Button * -WidgetFactory :: createButton(const Glib::ustring & label, - WidgetConstants::ButtonType type) throw () -{ - Button * button = 0; - - switch (type) { - case WidgetConstants::pushButton: - button = new Button(label, buttonImages); - break; - - case WidgetConstants::radioButton: - button = new Button(label, buttonImages); - button->setUseSelected(true); - break; - - case WidgetConstants::tabButton: - button = new Button(label, tabButtonImages); - button->setUseSelected(true); - break; - - default: - break; - } - - return button; -} - - -/*------------------------------------------------------------------------------ - * Create a combo box - *----------------------------------------------------------------------------*/ -ComboBoxText * -WidgetFactory :: createComboBoxText(void) throw () -{ - return 0; -// return new ComboBoxText(comboBoxLeftImage, -// comboBoxCenterImage, -// comboBoxRightImage); -} - - -/*------------------------------------------------------------------------------ - * Create a metadata combo box - *----------------------------------------------------------------------------*/ -MetadataComboBoxText * -WidgetFactory :: createMetadataComboBoxText( - Ptr::Ref metadataTypes) - throw () -{ - return 0; -// return new MetadataComboBoxText(comboBoxLeftImage, -// comboBoxCenterImage, -// comboBoxRightImage, -// metadataTypes); -} - - -/*------------------------------------------------------------------------------ - * Create a comparison operator combo box - *----------------------------------------------------------------------------*/ -OperatorComboBoxText * -WidgetFactory :: createOperatorComboBoxText( - Ptr::Ref bundle) - throw () -{ - return 0; -// return new OperatorComboBoxText(comboBoxLeftImage, -// comboBoxCenterImage, -// comboBoxRightImage, -// bundle); -} - - -/*------------------------------------------------------------------------------ - * Create a numeric combo box - *----------------------------------------------------------------------------*/ -ComboBoxText * -WidgetFactory :: createNumericComboBoxText(int lowerLimit, - int upperLimit, - int minLength) - throw () -{ - return 0; -// ComboBoxText * comboBox = new ComboBoxText(comboBoxLeftImage, -// comboBoxCenterImage, -// comboBoxRightImage); -// for (int i = lowerLimit; i <= upperLimit; ++i) { -// comboBox->append_text(itoa(i, minLength)); -// } -// return comboBox; -} - - -/*------------------------------------------------------------------------------ - * Create a blue bin - *----------------------------------------------------------------------------*/ -BlueBin * -WidgetFactory :: createBlueBin(void) throw () -{ - return new BlueBin(Colors::LightBlue, blueBinImages); -} - - -/*------------------------------------------------------------------------------ - * Create a dark blue bin - *----------------------------------------------------------------------------*/ -BlueBin * -WidgetFactory :: createDarkBlueBin(void) throw () -{ - return new BlueBin(Colors::MasterPanelCenterBlue, darkBlueBinImages); -} - - -/*------------------------------------------------------------------------------ - * Create an entry bin - *----------------------------------------------------------------------------*/ -EntryBin * -WidgetFactory :: createEntryBin(void) throw () -{ - return new EntryBin(Colors::LightBlue, entryBinImages); -} - - -/*------------------------------------------------------------------------------ - * Create a stock button - *----------------------------------------------------------------------------*/ -ImageButton * -WidgetFactory :: createButton(WidgetConstants::ImageButtonType type) - throw () -{ - Glib::RefPtr passiveImage; - Glib::RefPtr rollImage; - - switch (type) { - case WidgetConstants::deleteButton: - passiveImage = loadImage(deleteButtonPassiveName); - rollImage = loadImage(deleteButtonRollName); - break; - - case WidgetConstants::plusButton: - passiveImage = loadImage(plusButtonPassiveName); - rollImage = loadImage(plusButtonRollName); - break; - - case WidgetConstants::minusButton: - passiveImage = loadImage(minusButtonPassiveName); - rollImage = loadImage(minusButtonRollName); - break; - - case WidgetConstants::smallPlayButton: - passiveImage = loadImage(smallPlayButtonPassiveName); - rollImage = loadImage(smallPlayButtonRollName); - break; - - case WidgetConstants::smallPauseButton: - passiveImage = loadImage(smallPauseButtonPassiveName); - rollImage = loadImage(smallPauseButtonRollName); - break; - - case WidgetConstants::smallStopButton: - passiveImage = loadImage(smallStopButtonPassiveName); - rollImage = loadImage(smallStopButtonRollName); - break; - - case WidgetConstants::hugePlayButton: - passiveImage = loadImage(hugePlayButtonPassiveName); - rollImage = loadImage(hugePlayButtonRollName); - break; - - case WidgetConstants::cuePlayButton: - passiveImage = loadImage(cuePlayButtonPassiveName); - rollImage = loadImage(cuePlayButtonRollName); - break; - - case WidgetConstants::cueStopButton: - passiveImage = loadImage(cueStopButtonPassiveName); - rollImage = loadImage(cueStopButtonRollName); - break; - - case WidgetConstants::masterPlayButton: - passiveImage = loadImage(masterPlayButtonPassiveName); - rollImage = loadImage(masterPlayButtonRollName); - break; - - case WidgetConstants::masterPauseButton: - passiveImage = loadImage(masterPauseButtonPassiveName); - rollImage = loadImage(masterPauseButtonRollName); - break; - - case WidgetConstants::masterStopButton: - passiveImage = loadImage(masterStopButtonPassiveName); - rollImage = loadImage(masterStopButtonRollName); - break; - - case WidgetConstants::windowMinimizeButton: - passiveImage = loadImage(windowMinimizeButtonPassiveName); - rollImage = loadImage(windowMinimizeButtonRollName); - break; - - case WidgetConstants::windowMaximizeButton: - passiveImage = loadImage(windowMaximizeButtonPassiveName); - rollImage = loadImage(windowMaximizeButtonRollName); - break; - - case WidgetConstants::windowCloseButton: - passiveImage = loadImage(windowCloseButtonPassiveName); - rollImage = loadImage(windowCloseButtonRollName); - break; - - default: - return 0; - } - - return new ImageButton(passiveImage, rollImage); -} - - /*------------------------------------------------------------------------------ * Return a Gdk::Pixbuf reference to a named image *----------------------------------------------------------------------------*/ @@ -664,55 +160,3 @@ WidgetFactory :: getPixbuf(WidgetConstants::ImageType imageName) throw () return imageTypePixbufs[imageName]; } - -/*------------------------------------------------------------------------------ - * Create a Gtk::Image - *----------------------------------------------------------------------------*/ -Gtk::Image * -WidgetFactory :: createImage(WidgetConstants::ImageType imageName) throw () -{ - return new Gtk::Image(getPixbuf(imageName)); -} - - -/*------------------------------------------------------------------------------ - * Create a ZebraTreeView table - *----------------------------------------------------------------------------*/ -ZebraTreeView * -WidgetFactory :: createTreeView(Glib::RefPtr treeModel) - throw () -{ - return new ZebraTreeView(treeModel); -} - - -/*------------------------------------------------------------------------------ - * Create a dialog window. - *----------------------------------------------------------------------------*/ -DialogWindow * -WidgetFactory :: createDialogWindow(Ptr::Ref message, - Ptr::Ref bundle, - int buttons) - throw () -{ - return new DialogWindow(message, buttons, bundle); -} - - -/*------------------------------------------------------------------------------ - * Convert an integer to a string. - *----------------------------------------------------------------------------*/ -Glib::ustring -WidgetFactory :: itoa(int number, - int minLength) throw () -{ - std::ostringstream stream; - if (minLength > 0) { - stream << std::setw(minLength) - << std::setfill('0'); - } - stream << number; - Glib::ustring string = stream.str(); - return string; -} - diff --git a/campcaster/src/modules/widgets/src/ZebraTreeView.cxx b/campcaster/src/modules/widgets/src/ZebraTreeView.cxx index ac0992a7a..30afc212f 100644 --- a/campcaster/src/modules/widgets/src/ZebraTreeView.cxx +++ b/campcaster/src/modules/widgets/src/ZebraTreeView.cxx @@ -38,6 +38,7 @@ #include "LiveSupport/Widgets/WidgetFactory.h" #include "LiveSupport/Widgets/ZebraTreeModelColumnRecord.h" +#include "LiveSupport/Widgets/Colors.h" #include "LiveSupport/Widgets/ZebraTreeView.h" @@ -165,46 +166,6 @@ ZebraTreeView :: appendColumn( } -/*------------------------------------------------------------------------------ - * Add a button column to the TreeView. - *----------------------------------------------------------------------------*/ -int -ZebraTreeView :: appendColumn( - const Glib::ustring & title, - WidgetConstants::ImageButtonType buttonType, - int minimumWidth) - throw () -{ - Ptr::Ref wf = WidgetFactory::getInstance(); - ImageButton * button = Gtk::manage(wf->createButton( - buttonType )); - Glib::RefPtr 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. *----------------------------------------------------------------------------*/ diff --git a/campcaster/src/modules/widgets/var/blueBin/bottom.png b/campcaster/src/modules/widgets/var/blueBin/bottom.png deleted file mode 100644 index dc9abc5a432cf36a30ab0a0a8dba60193487a679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2818 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 U01#`XSO5S307*qoM6N<$f)AQiM*si- diff --git a/campcaster/src/modules/widgets/var/blueBin/bottomLeft.png b/campcaster/src/modules/widgets/var/blueBin/bottomLeft.png deleted file mode 100644 index 71c70b8591ae55dc379edcdc177f685b1ef031df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/blueBin/left.png b/campcaster/src/modules/widgets/var/blueBin/left.png deleted file mode 100644 index 38bb0f431fd1c13c3a289cd15964de937dd806d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2817 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 TZ{)HF00000NkvXXu0mjfSp-=} diff --git a/campcaster/src/modules/widgets/var/blueBin/right.png b/campcaster/src/modules/widgets/var/blueBin/right.png deleted file mode 100644 index 730c9c3b7a9d6efe555038483d1ffffd3a4563e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2817 zcmV+c3;y(pP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C03Jz1K~#9!VmWl?j+8L3kN`Im0}LQo00000|NjF3P3!{N TVb6Wr00000NkvXXu0mjf)-qOB diff --git a/campcaster/src/modules/widgets/var/blueBin/top.png b/campcaster/src/modules/widgets/var/blueBin/top.png deleted file mode 100644 index df1c5d45aec25da268286ef9a62472873b8f61a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2819 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 V2ZeCzUrqo3002ovPDHLkV1kC|R^9*r diff --git a/campcaster/src/modules/widgets/var/blueBin/topLeft.png b/campcaster/src/modules/widgets/var/blueBin/topLeft.png deleted file mode 100644 index 6fb4deb28dcc4e2aec692ccd143f527d0ab66116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/blueBin/topRight.png b/campcaster/src/modules/widgets/var/blueBin/topRight.png deleted file mode 100644 index 0ea6a2bb3bd98770f6a03c514e55421fd193d2f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/button/center.png b/campcaster/src/modules/widgets/var/button/center.png deleted file mode 100644 index 3d708dbdf59b27178ae99855b0d89afe6dbff4ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2891 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 diff --git a/campcaster/src/modules/widgets/var/button/centerGray.png b/campcaster/src/modules/widgets/var/button/centerGray.png deleted file mode 100644 index 3d708dbdf59b27178ae99855b0d89afe6dbff4ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2891 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 diff --git a/campcaster/src/modules/widgets/var/button/centerRoll.png b/campcaster/src/modules/widgets/var/button/centerRoll.png deleted file mode 100644 index 992df804006fe03d99044cb28fcbdaa60dd45528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2889 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 diff --git a/campcaster/src/modules/widgets/var/button/centerSel.png b/campcaster/src/modules/widgets/var/button/centerSel.png deleted file mode 100644 index 366729d6e59f9bac5251143b05abb9f82efc784d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2896 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 Tv!~vL00000NkvXXu0mjf>?W%` diff --git a/campcaster/src/modules/widgets/var/button/leftSel.png b/campcaster/src/modules/widgets/var/button/leftSel.png deleted file mode 100644 index 51302ea922f8884498d4b3731b2f9d10299cf4d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3100 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 TKHluq00000NkvXXu0mjfVEou+ diff --git a/campcaster/src/modules/widgets/var/button/rightGray.png b/campcaster/src/modules/widgets/var/button/rightGray.png deleted file mode 100644 index 616eb6d940e7c9fe224837a8d8949df5eac6e00a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3077 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 TKHluq00000NkvXXu0mjfVEou+ diff --git a/campcaster/src/modules/widgets/var/button/rightRoll.png b/campcaster/src/modules/widgets/var/button/rightRoll.png deleted file mode 100644 index d5e2fffaa39ab5ce7ed148929f5f9876fbbbb384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3073 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 diff --git a/campcaster/src/modules/widgets/var/button/rightSel.png b/campcaster/src/modules/widgets/var/button/rightSel.png deleted file mode 100644 index f60b0d25d0ce4758e92defc61a117d7fb553db00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3096 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 diff --git a/campcaster/src/modules/widgets/var/combo/right.png b/campcaster/src/modules/widgets/var/combo/right.png deleted file mode 100644 index d1df5fb57fbb3b818c61921dabe5b616944d89cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3464 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 T@A=ww00000NkvXXu0mjfr>a#H diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/bottomLeft.png b/campcaster/src/modules/widgets/var/darkBlueBin/bottomLeft.png deleted file mode 100644 index 55325d4e7c63fd5e669b5d423b118396be3b2ef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/bottomRight.png b/campcaster/src/modules/widgets/var/darkBlueBin/bottomRight.png deleted file mode 100644 index 3852da14ac18c0a01e59692a7805120f4550b95e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/left.png b/campcaster/src/modules/widgets/var/darkBlueBin/left.png deleted file mode 100644 index d27061d9b0b5430d24bb95b654894ce99ec9e88c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2817 zcmV+c3;y(pP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C03Jz1K~#9!V!8L|>A{od4&Gy6Vt@ez3jhEB|NjF3sm%tZ T!LV3o00000NkvXXu0mjfRVrC> diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/right.png b/campcaster/src/modules/widgets/var/darkBlueBin/right.png deleted file mode 100644 index 7fcdc81b402ad8a9e0f5362731feea51eb65cb29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2817 zcmV+c3;y(pP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C03Jz1K~#9!VpwwM<(>O4-@X6B!~g>b761SM|NjF3z@P`o TJh3BW00000NkvXXu0mjfOhs7; diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/top.png b/campcaster/src/modules/widgets/var/darkBlueBin/top.png deleted file mode 100644 index df1c5d45aec25da268286ef9a62472873b8f61a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2819 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 V2ZeCzUrqo3002ovPDHLkV1kC|R^9*r diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/topLeft.png b/campcaster/src/modules/widgets/var/darkBlueBin/topLeft.png deleted file mode 100644 index cd3f1215992822da0ac23c87c77f5e3f7ec04687..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/darkBlueBin/topRight.png b/campcaster/src/modules/widgets/var/darkBlueBin/topRight.png deleted file mode 100644 index ba5b8556cbd5699a39274e10e03901b9cb7f2f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 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 diff --git a/campcaster/src/modules/widgets/var/entryBin/bottom.png b/campcaster/src/modules/widgets/var/entryBin/bottom.png deleted file mode 100644 index a1fcad5406421711a68c3444deb1189bb14526ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab83P(>5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02L{Ex;TbZ+)A>kd#cFHv*FK=U&03k m#UHp8xVZj!Ak)CW%5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02MiTx;TbZ++r|cIQ^gT^}F}C?mc?^ z?z5_*BIA#rzrK9?_VDeuZ=b%iu(7i6a`VXjWB$Oz478Y$iII_ugO!HYF6K+_mJUHx3vIVCg!01BQq>i_@% diff --git a/campcaster/src/modules/widgets/var/entryBin/bottomRight.png b/campcaster/src/modules/widgets/var/entryBin/bottomRight.png deleted file mode 100644 index 80059ed4386b4ca9b5f378319e9c4d105df42806..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab83P(>5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02MiSx;TbZ+)A>kd-`y{ef|Ic|JUni zp853n_4)t*|NZ@c{=?hj`eKEQc?z>9PMkQkb>_#fx6k+R@c8)jym_;Rfsu_N)<$yU T#713Hpjix_u6{1-oD!M<5feYt diff --git a/campcaster/src/modules/widgets/var/entryBin/left.png b/campcaster/src/modules/widgets/var/entryBin/left.png deleted file mode 100644 index a9a6f95de1bb19896d5468eac866dbedba6b6cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab83P(>5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02Rr3x;TbZ+)AqX_UY@+)#mT_R;*sR i>d=t}mV#miCLV@%agJm!8O8fRl?5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02Rr3x;TbZ+)A>kfB$p-{rdm^{;gJ0 jJ#wUhrJ$IBiHBkK8jh>0%jU`gRWf+G`njxgN@xNAjua|( diff --git a/campcaster/src/modules/widgets/var/entryBin/top.png b/campcaster/src/modules/widgets/var/entryBin/top.png deleted file mode 100644 index abbdcd90bed0f1805a6398b4187c0680f78f94ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab83P(>5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02L{Ex;TbZ+)CP0_S=q`XM>DQCEvly lKfi37l9Lv&KWAW(U{J{9aP{4}vKFYA!PC{xWt~$(69AjOC|Lji diff --git a/campcaster/src/modules/widgets/var/entryBin/topLeft.png b/campcaster/src/modules/widgets/var/entryBin/topLeft.png deleted file mode 100644 index b947502812ee5cbddc103a02b2bd7d5dde0a4d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab83P(>5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02SGLx;TbZ+)DcM_4W7V`tkO)f4NdN z)cpMR_S4zj<#KlaK0nt#{eAxaxV^RI|9?uev9XCMq$MXmefDh9Gy!%F0|xcO^0fxc S0(*c)F?hQAxvXweC diff --git a/campcaster/src/modules/widgets/var/entryBin/topRight.png b/campcaster/src/modules/widgets/var/entryBin/topRight.png deleted file mode 100644 index 9b95fafba3097ddfc44d3ace47b8b1979b74019a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab83P(>5jgR3=G$9T=9=E0`etGTq8a>QWZRN6Vp?JQWH}u3s0un02SGJx;TbZ+)CP0_S;Tcn_HjXT%O;2 zbKlOpi_`W0{r}JZ#Mrj(@4uhF&+FU$WjM8AhQtd_t`DC-e)#kAGrz(C2BjaO2WF?$ RxdKgM@O1TaS?83{1OPyAJSzYI diff --git a/campcaster/src/modules/widgets/var/imageButton/cuePlay.png b/campcaster/src/modules/widgets/var/imageButton/cuePlay.png deleted file mode 100644 index c79b1aa920cd14fa83aca12eb6de25a9dc45925e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3708 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 XjJzrKdeM&V00000NkvXXu0mjf&I`VS diff --git a/campcaster/src/modules/widgets/var/imageButton/cueStopRoll.png b/campcaster/src/modules/widgets/var/imageButton/cueStopRoll.png deleted file mode 100644 index 1ec2055a6808d32a11d9d07f54554d2723d01b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3493 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 T2OOk{00000NkvXXu0mjfE?cnX diff --git a/campcaster/src/modules/widgets/var/imageButton/delete.png b/campcaster/src/modules/widgets/var/imageButton/delete.png deleted file mode 100644 index 1919d297ccc8124ed794c4a1b5a50364f3a4e02d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3493 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 diff --git a/campcaster/src/modules/widgets/var/imageButton/hugePlayRoll.png b/campcaster/src/modules/widgets/var/imageButton/hugePlayRoll.png deleted file mode 100644 index 55ea1ab2ab914505e4751daf25cc5e05cf5b020f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3683 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 B2iX7s diff --git a/campcaster/src/modules/widgets/var/imageButton/masterPause.png b/campcaster/src/modules/widgets/var/imageButton/masterPause.png deleted file mode 100644 index 910a2a8b9dbd929039d8d9646fca9232e1e9039e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1079 zcmV-71jze|P)5?eF#c{QdX%`rza4)Y#|D(c}F6{_pYj(bnbo`1{%1>g49|naux9 zh{1J)lun4hb%d3Pyzfqkz-oq|aD|$5gq3lHnRJAfXojP2g`0APm~(`dZH1j{g`aYT zmu`idZH1gsh`dsY!Doh~YlWWm_W9%G@8RU`ZHS}Q+2`2Y>1l?dbA*>_hM~>U0b^85V#+1=`Fg`Q7{zQD)aQ;51*hqO|NyV~9AWQM0sh{0lqsq^&s?(p@( z$lX?lwp5D0$IRdR`~CR&`%j3y$=<4kARfo6f>+|&W`Q_;F_V@bt`1?|b zy2i`j)7R$u`uyDB>`;ik`TG3h=I{CW{Az}u%+cakhqcSl;_~zO-Qn!t;_c<<@bU8Z z{{H^#?(}YjoK%RpPKds1h^F4*?CkFK&eP-D-s``{+h&HQ#me5t&ERB*sLs>m{r>)D zhNax!>rjZiYKEfb>G9FkDmmi%><@+v~%x5+)_L*dsIhACg_+(XL zs@C&Rv$3&;U#ruoM-|DFNn^#A$xO+LM;wE+IY%IK3LwtBByI~%hFYGAA>z1oS$=UN?DdK+kgz-xuk%lh+US zB0x`f|Ne)b{(Rx{%JZeX-^%;V2>b2tzYkm`_+EPq^mf2r7kNiOZ=eL;51^+z{|w;i z&QlK01NL<1DW?~?NB=Yb^#6#{>jiqsJRJagoj}iB0X4t{&I51OC)UEnNyoSF;JB~R=gHu5S%%T*{8bVR2omF21DgL${xzZD8@IC#5`RcF^Fg}Xh! x%!k9_4y9JL=AYI7DM_oo!uciieDy|v0RYLzd!4q&&3^y@002ovPDHLkV1n38aOnU5 diff --git a/campcaster/src/modules/widgets/var/imageButton/masterPauseRoll.png b/campcaster/src/modules/widgets/var/imageButton/masterPauseRoll.png deleted file mode 100644 index 8e8d9bccf9fd68897c26961165ccecce15d886c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1080 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 Vf?CxEqY3~3002ovPDHLkV1nW0odN&= diff --git a/campcaster/src/modules/widgets/var/imageButton/masterStopRoll.png b/campcaster/src/modules/widgets/var/imageButton/masterStopRoll.png deleted file mode 100644 index 8f7ecc0b0913d5bad6618731b030e52747f9ac64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1148 zcmV-?1cUpDP)PY@ z!F7a`PKdvCgq4ZB?@oxoYKEY2g_?APm2rica)p?5gqCQAqi=2qx%GmD9+3$0NmuZHgYlWU{ zg`UFF>f`YK%-itK-ttd~zEg<0ti9a2$>ibh{cDJ&vcca{h`U&av}A^-S%c-t7Cm%;wSG^U~n+Pl&y{%H_k->doBn zQi!^=!{Jqjx8d&n-Rt{Kh{0lqso?GWP>8+7)a=LA>{E)sxya<-?fh+po@0loYKEWL z=J>|d>{N)k&fW2`z~0T<@Vv|BR)@E%yxVGqqRZOvW`?Fzh`6%C;AV!UWQVA>#o|tg zzEFs~Wrn83)9baw;a7*X)Z+E9z}{Jhv%%2lxya++?EGSfs@UfDYlx=T<@Z&JzT@%! zYKW#(h`P7N;%Ka#!UiA#IUfmAS5AZ3Ly!Q z1_@xH_l|&oz4zV~?1Gdp?76GX;EcO7-u%bONS@a_zq$M3p4pwloIF*^JynyKrX4NS zZE30E_sVoSr-|gLq_Nyfr$Eq1%&%DW}oftfq5p|Vt>@{7=n3biyZ06bdy&G^Mau{q-PC=+M!-i@dnttM&47P z_kg@K&^t}u6xdqKqgU~dlSog}Y4kG;3#y$5^%Z{ZlifB=rsX7!+9#;dBL9HJQei9`{;k>pZ*^SdaXc@&(k)rcM<4$$a90e2A~%s z?;FsoC(jG?YRRj^d7IVbZDG8@?Va%_+^a%(yV=0x)#;bzdpuJvB`#b^#n&J1@e&D} zaOUiCK#mm6-{4-2cDRLiV~0drv5^IaWx6p8QOK6(OjDsr}WCLS*l%I^<4LR|y=c-nrj z)8mP*`h(-Q9D+?}isy$F&i&k9cE)0{dS0zo^^eN`l%iMjul*%-zxo|anSt_xuZs@= O0000KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C0>Vi|K~#9!td+}4)KL`2&;2=q66Rx|u~BOr$?QQh*<=IJ zrqDKJvV8EaVS8iOi7@>zkB;jj(FpZWLqWylqd(WfAb#z8_ zjPT1{+=#oUFXFsIe4Uf34 z*VP&8>+L4uzTWPx&Y0_ZL&GE1P0R8%YE9ZFZ3vMSNWcLu)RYOCMT&2t)9oi(kF{J$ zUep@x&dr{ywTEk}tEzk-t*zRS@8gE6|9Dz!5)cPiO-wH=F0EcZe+rQd@+SBn4xo)g zVq?hj(e;e)BN8kAaWoVPoNR5%E&cR-)EbQ;BqkPN5s)&SA^;%3!bGACX@go5A}OUR zm9#}80RU(U1;-~QqAjhyMq`SzE|<9N0Vc67Gl^1A9aw1$9of8p0o2s&{P(400I01E zYmG#VRE}ytaiJeX;85iX0E9xJXf$fM0su+@08GzhEq&`>Rq3MudoH($R(}ToHT1-X TKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C0<}p*K~#9!td&b^Q$ZBR|8pB5P*NL3Z)&tA@m(KDgQ9Mg z)(U=W!vfEUiKO27<1Ab|Jd3#?(ra_`*lk$;^4Um^7xPi6H)&#XX0^@1FCY zxpR%GVnxqtU#iVztS{{j%&JfgkdITP+@?PTB4Ui`5KoS6$3N-ei&~%`$!!i?om==) zZ7%;av0IN{RC96aNN!66XtnwMzd!*T9V@(TegzQC)jk_l{3kib2J*c2eqi$aY z_Nu!zQ+fF4$-({m6B`mCvs7(Hh6YoM^+pt-U$Y~bOuf;# zHCwU2Y=BPBR;;xnnamof^Xxr2N6t|M8MtuqT6XKEUfe=H_kH=ttNHnAZ6Tc=zJ2Ge zwYEH7nwmV_eE^x2i5;p%GP`OlG_qp2#QDsqPVbKU00n#5DJOz;6I1FHVwz5=jtbw+?O+=8DJryPiLv>!WclVyr?K_SiJLVmQ%*3fv zL#b3UnRG1*<9pAo7X7r&TIU=qbZ|h-%h!wVnx6~14-m0u(Y55B3U$Ono?DKr^{z!E zvL*RpB#smN^4X>4N9)Kt@}7hDs;baFCq)4$RE1f+XXnX#CSqfZf$l2g5&*LC=KA8x z!F0ami98dDw7c%tcrZa(NyHN?t1-w9eaggJ+xIVE=HI-nH{SzriEYkNr|UjY020`u zsu+bto|vWXZVL0^m_m-o-S9y!lz~c0000MP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C0y{}WK~#9!td&1+6G0HgXHOR?5kirO#0BFZ`%ofiP`V%* zDk?fCC@J{@^wfL=N=l>@AijiY03)IRk?kWfAx`8Z5`TO*J2Q{soY*Fuu^_LynO*(# z_TB8A13*W5lN>fX-|5f7aN$NuIHGEFcDZtHup#Fj6Ys8+>7VrcRg%-MRpy9@0K9G; ztk$-08hTM{)LXj%2*7G>6Q`$_wG9Bl+hl( z67EJb>7{AWDu6VTH1pS&%3C}8;e=+#3jlj%mW)Nj0yjP!d$N23Y z9KKuoFx;uHeLRl1T$*2uD*b^iv9L_>8Hl$;ZA#dr@MccKhI20FUEr$ z%%BEUQ$;`sgJQqs()@$__m0blj~?H?b#pPUoD3I$p$`?+fGl*dzuei;K7L1%8C2oD zdQmSbY7Qsfn;8s+CoqMo4P*0IGZtp$OxdfdIYOTcB2`l{15nKMqResx?Q_{{mdTGE z|4f-#K?um)db9nd)4j2LRYbj5AB>4+7C=5*X(qkYXPJnav%L#Z6ke%b-0tk9nJ|m@ zDr#zg0faF(21Eohm@3#Sdtp`)bIJ(U;qFB diff --git a/campcaster/src/modules/widgets/var/imageButton/plusRoll.png b/campcaster/src/modules/widgets/var/imageButton/plusRoll.png deleted file mode 100644 index ba4fea1ace56a08afd6c775a8f061f321630659b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3349 zcmV+w4eIiVP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C0y0TNK~#9!td&7)6hRP$Uyq{(LKF>gvPlfH8xYMQc<`Vn zL4SlG_-8x_{tiL#uZW-r+0{cf6QkKoLXwq;ndz>o=V3P4-NfC5=sQi-G#{^C)7_3F zj`T6>w)0>3yEs_5p^^@$CsX&+oBah9_n7!-c>x#F`({?rSJLSow}M`nIH(WJcA8AB zq%#qKc7E_*pa32$H@@XR0Ysm&z2UG%>do7Co1LxkYrIzn`x7eh&|e_S*Vjr_TS{q)J>Mw*@ux5rgeqpC)**wM~7v%`I!M8b@wl%OIiqM~-0 zr}oW^#*q_HscM7RD%LWH_v*cdpsIES>~RUGnu=9Jjp7E;;N=L~i!}r-OZi>+qVV1; z!O2VJTJ7&Y^4)!e%q0qd=-GibKc9b>oHIORV_W$ fj4b=aN`D3b@W|#qUF_FV00000NkvXXu0mjfv{Gn2 diff --git a/campcaster/src/modules/widgets/var/imageButton/smallPause.png b/campcaster/src/modules/widgets/var/imageButton/smallPause.png deleted file mode 100644 index 215b61480ef8a630e9f9c381c827b67a842ae328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3320 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 diff --git a/campcaster/src/modules/widgets/var/imageButton/smallPlayRoll.png b/campcaster/src/modules/widgets/var/imageButton/smallPlayRoll.png deleted file mode 100644 index d628bd8c1a51b2a641c8701f8f263721822d237e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3393 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 Hu0mjfDM70v diff --git a/campcaster/src/modules/widgets/var/imageButton/windowMax.png b/campcaster/src/modules/widgets/var/imageButton/windowMax.png deleted file mode 100644 index d95961b453c6c0a0908247eb881f3be709554944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmV-m0iXVfP) z|3cFaRZW?CRM}&l?~%WE2tMt~VgobQ<+gHOnVsTd=6jTLJ6dZtZ?u~FzII21*~T?m y$o~a4Zy;hEq~repyke=9jNFC-ji?_#0t^6w#0Vd9tn3Q_0000U_5`_D1!%XYl4_0001|Nkl*q$&F+t%YIr5yS&2{?Kl;Mfz*g+A@7;O9#j(QCpVEv`XDAlWAJJz3mXWQW24? zw5+_-9`o0Qz9vFSmY@4J+=mhU+c4LA9OY%+rxMJV%A33Q@WvR`o3>1m(S(j#i6%Mx yL14TTb?UtP)BQ3CZh#Z$0001#Nkl28_0(Z;+#k&SQ{MxA)62>Wzqu4ka_! fn7nS|SAYQkz7`4Y^Sken|CzaI_f^(@Qw@vSken|CzaI_f^(@Qw@vaP<ov=r#aD|A{U+WqoBs9LnUxNoOjRS_ z^xe&|Ogru=Rt W{R!=_n@xbuXYh3Ob6Mw<&;$SwlxH{q diff --git a/campcaster/src/modules/widgets/var/tabButton/leftGray.png b/campcaster/src/modules/widgets/var/tabButton/leftGray.png deleted file mode 100644 index 1899b75bc82f2d005206a71700a83a93fbf77753..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmV-30nGl1P)Y6rA1MRbnGT z8U@impjCcI{-z-KD@pkOJnoiEXQY0T2tJ{ZH?gJ!$swDk9w1edsjFa>@fU3s{XfDO9Z#bZ?M>R$VPyOEb z)AE04n6U!bdr46+QjSuT#k?LXN#0H zibl~c=B`U_yWOYo9-0pTH|M94i)wMZqkax=%cgYzfKOJBwjQnE2*m&Z002ovPDHLk FV1jY0dmsP+ diff --git a/campcaster/src/modules/widgets/var/tabButton/leftRoll.png b/campcaster/src/modules/widgets/var/tabButton/leftRoll.png deleted file mode 100644 index 993f0d6e86978f59c76077af3424b1d68ab96439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^96&6`!2~4dJvtEuq&N#aB8wRqxP?KOkzv*x37{Z* ziKnkC`!!A`Az7^{_jUIGh30s=IEHAPf7@rx$7IOEdcUosZ&q8|H0gr>%x`!v1Sz;| zXYHD7u}yOm*M6A>rt*0k|Juxuta=(hyKt8O_TRHJUR2z$bzRDPwTNM#CWED`u4kFldT;%~49%3kpfR=h#`aKt|*Ei8D%z yPP4i4OQwe%eMjD$>8bg=d#Wzp$P!R2wcYi diff --git a/campcaster/src/modules/widgets/var/tabButton/leftSel.png b/campcaster/src/modules/widgets/var/tabButton/leftSel.png deleted file mode 100644 index ea3ca2bef70d83ddde59cb3505b17f6eadeb182e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 381 zcmV-@0fPRCP)h z(DFHaJ^TTrr6R+G?5!DRcrb@|h{xs3=8w?5$WTBd9HFqp~zE(8E&#NNJ{K z)W*uvn7C6(_M)DmX4axu8h{sF^2XZx1Xc2AP!LgC)TCAxWy_<(lL~5P&8(s%*&ZGG zySSycB(ublYwnG} diff --git a/campcaster/src/modules/widgets/var/tabButton/rightGray.png b/campcaster/src/modules/widgets/var/tabButton/rightGray.png deleted file mode 100644 index fda8122ede2df0b5016231f7f3c2270857f31e7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-w=P)7O%xNuEHOz@G0oD@u|8>}*V(a;8Xe8l*BA$uTm55fTNU z^pPXjTC|pZWF#dQpq#cCBexc(HhRyb9{5|WwR}JJh}>HC9wRxwz`CyGcHJfIEHAPf7@s1&Fm=BlK%bLqgxs}#}tkz33)s{|6M$S zbCDy5hS)}n-7{wF-c$R&*R?6>%B^GT=k!aeO*rDe}acS~Phm|tbGGh-IpfqeoS8R{!)e$6Qga`83{jXsmFT=y{k zPp1cq$E=-Vw?(uUWyu}5veoI(ozPt6s3TWwm|o`U?rz&95^7q0%^^xBdcwPquen?c z_&ippx?l3NI?K7Bi;>+USDk_50;j^UfTLUvR_o&T)t|N8&%9Q6QfiVZ(@CHw89ZJ6 KT-G@yGywpRR(Q?; diff --git a/campcaster/src/modules/widgets/var/tabButton/rightSel.png b/campcaster/src/modules/widgets/var/tabButton/rightSel.png deleted file mode 100644 index 40ab330451c971b8cd554101956fdbc197ab6f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 439 zcmV;o0Z9IdP)8v00042Nkl$@F>ez=5QX2aHy~LQ z1|d!qL`sY3_~-lxQ&G`GX;L61MTnf3aL(S&dynESXFFuH#m;^+Z)R4LY~v*>KQ69* zZ~u}y{jmCS*3BS&`*{r@q-B2x;8XYZ^VvrLc}mQAc=N7bu5LH?=a*L#2x-Q5uU0p= zn+cS>$0408d~x|J@7u^z(9OyFy4xMa&X?`|rX0rZdxeiOX3Ys4X3RK0|A{BTqo~nF z_XUyBeLlxgjYFvs3kSW=IHUxZ8Vq_HQ5LBrEnk;$j`C1Rd7x^~zHtbDJzW7Pe;ym{ zplfK?$lz4`VPOAsqD8d$etr$0)J7X2i)4_&MiGk=vTe(vL@^{XAs0zDOpzibl2k$} zY_u(jp;1b5LM}sXwk?rjBZIbqQfmKb!yao;nijLv-C$4k$92s)0Vr)~FaV6NDJA3t hAg$Ny|2Mkpx_>HpG#umMNi_ff002ovPDHLkV1hSHw$T6p diff --git a/campcaster/src/modules/widgets/var/whiteWindow/bottom.png b/campcaster/src/modules/widgets/var/whiteWindow/bottom.png deleted file mode 100644 index b177658af4dc70a88053e35f0413a9501be89292..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2834 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 diff --git a/campcaster/src/modules/widgets/var/whiteWindow/bottomLeft.png b/campcaster/src/modules/widgets/var/whiteWindow/bottomLeft.png deleted file mode 100644 index bd9231441c9a2b0a48f1148ffad0ac6e385744d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2927 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 diff --git a/campcaster/src/modules/widgets/var/whiteWindow/resize.png b/campcaster/src/modules/widgets/var/whiteWindow/resize.png deleted file mode 100644 index bd585bb878a8eb2e6fcf4d3850ab77bc273f516f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3181 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 Tpyw&D00000NkvXXu0mjfq@5Un diff --git a/campcaster/src/modules/widgets/var/whiteWindow/right.png b/campcaster/src/modules/widgets/var/whiteWindow/right.png deleted file mode 100644 index b676e704fbe5811984ba1876fd8b5f6dad6040b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2825 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 b|NjF35d929gxY*w00000NkvXXu0mjf{smuH diff --git a/campcaster/src/modules/widgets/var/whiteWindow/top.png b/campcaster/src/modules/widgets/var/whiteWindow/top.png deleted file mode 100644 index d2d5906b5bd98d621f6f6b4e61f3e1eaee715ec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2831 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 diff --git a/campcaster/src/modules/widgets/var/whiteWindow/topLeft.png b/campcaster/src/modules/widgets/var/whiteWindow/topLeft.png deleted file mode 100644 index 5d8b8f67a364793cf9e9246d7f5f3fa56b9c6e00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2908 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