summaryrefslogtreecommitdiff
path: root/tests
diff options
authorNeil Jagdish Patel <neil.patel@canonical.com>2011-03-15 10:16:18 +0000
committerNeil Jagdish Patel <neil.patel@canonical.com>2011-03-15 10:16:18 +0000
commit12d5c653c0e2e9009c455314c3b87ac59b7fcc9d (patch)
treed1c31f036139ad961d881f98c0587947742c6e31 /tests
parent5f3166af5c7671a8499ed9195157a4bf7a3be0f0 (diff)
parent373119bc8024ef748651d993d93da329d975a331 (diff)
[merge] trunk
(bzr r945.11.16)
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt22
-rw-r--r--tests/ui/TestQuicklist.cpp2
-rw-r--r--tests/ui/TestQuicklistVisuals.cpp258
3 files changed, 281 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index bb180cefa..92d49d2ec 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -220,6 +220,28 @@ add_executable (test-quicklist
../src/ubus-server.h
)
+add_executable (test-quicklist-visuals
+ ui/TestQuicklistVisuals.cpp
+ ui/EventFaker.cpp
+ ui/EventFaker.h
+ ../src/Introspectable.cpp
+ ../src/Introspectable.h
+ ../src/QuicklistMenuItem.cpp
+ ../src/QuicklistMenuItem.h
+ ../src/QuicklistMenuItemCheckmark.cpp
+ ../src/QuicklistMenuItemCheckmark.h
+ ../src/QuicklistMenuItemLabel.cpp
+ ../src/QuicklistMenuItemLabel.h
+ ../src/QuicklistMenuItemRadio.cpp
+ ../src/QuicklistMenuItemRadio.h
+ ../src/QuicklistMenuItemSeparator.cpp
+ ../src/QuicklistMenuItemSeparator.h
+ ../src/QuicklistView.cpp
+ ../src/QuicklistView.h
+ ../src/ubus-server.cpp
+ ../src/ubus-server.h
+ )
+
add_executable (test-places-backend
TestPlacesBackend.cpp
../src/PlaceEntryRemote.cpp
diff --git a/tests/ui/TestQuicklist.cpp b/tests/ui/TestQuicklist.cpp
index bcf08a6be..69488d308 100644
--- a/tests/ui/TestQuicklist.cpp
+++ b/tests/ui/TestQuicklist.cpp
@@ -108,7 +108,7 @@ createRadioItem ()
dbusmenu_menuitem_property_set_bool (item,
DBUSMENU_MENUITEM_PROP_ENABLED,
- true);
+ false);
dbusmenu_menuitem_property_set_int (item,
DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
diff --git a/tests/ui/TestQuicklistVisuals.cpp b/tests/ui/TestQuicklistVisuals.cpp
new file mode 100644
index 000000000..36bf2f07b
--- /dev/null
+++ b/tests/ui/TestQuicklistVisuals.cpp
@@ -0,0 +1,258 @@
+/*
+ * Copyright (C) 2010 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authored by: Mirco Müller <mirco.mueller@canonical.com>
+ */
+
+#include <glib.h>
+#include <gtk/gtk.h>
+#include <dbus/dbus-glib.h>
+
+#include "Nux/Nux.h"
+#include "Nux/VLayout.h"
+#include "Nux/WindowThread.h"
+
+#include "QuicklistView.h"
+#include "QuicklistMenuItem.h"
+#include "QuicklistMenuItemLabel.h"
+#include "QuicklistMenuItemSeparator.h"
+#include "QuicklistMenuItemCheckmark.h"
+#include "QuicklistMenuItemRadio.h"
+
+#include <X11/Xlib.h>
+
+#define WIN_WIDTH 1024
+#define WIN_HEIGHT 600
+
+QuicklistView* gQuicklists[3] = {NULL, NULL, NULL};
+
+QuicklistMenuItemRadio*
+createRadioItem (const gchar* label,
+ gboolean enabled,
+ gboolean checked)
+{
+ DbusmenuMenuitem* item = NULL;
+ QuicklistMenuItemRadio* radio = NULL;
+
+ item = dbusmenu_menuitem_new ();
+
+ dbusmenu_menuitem_property_set (item,
+ DBUSMENU_MENUITEM_PROP_LABEL,
+ label);
+
+ dbusmenu_menuitem_property_set (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE,
+ DBUSMENU_MENUITEM_TOGGLE_RADIO);
+
+ dbusmenu_menuitem_property_set_bool (item,
+ DBUSMENU_MENUITEM_PROP_ENABLED,
+ enabled);
+
+ if (checked)
+ dbusmenu_menuitem_property_set_int (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
+ DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED);
+ else
+ dbusmenu_menuitem_property_set_int (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
+ DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED);
+
+ radio = new QuicklistMenuItemRadio (item, true);
+
+ return radio;
+}
+
+QuicklistMenuItemCheckmark*
+createCheckmarkItem (const gchar* label,
+ gboolean enabled,
+ gboolean checked)
+{
+ DbusmenuMenuitem* item = NULL;
+ QuicklistMenuItemCheckmark* checkmark = NULL;
+
+ item = dbusmenu_menuitem_new ();
+
+ dbusmenu_menuitem_property_set (item,
+ DBUSMENU_MENUITEM_PROP_LABEL,
+ label);
+
+ dbusmenu_menuitem_property_set (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE,
+ DBUSMENU_MENUITEM_TOGGLE_CHECK);
+
+ dbusmenu_menuitem_property_set_bool (item,
+ DBUSMENU_MENUITEM_PROP_ENABLED,
+ enabled);
+
+ if (checked)
+ dbusmenu_menuitem_property_set_int (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
+ DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED);
+ else
+ dbusmenu_menuitem_property_set_int (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
+ DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED);
+
+ checkmark = new QuicklistMenuItemCheckmark (item, true);
+
+ return checkmark;
+}
+
+QuicklistMenuItemLabel*
+createLabelItem (const gchar* string)
+{
+ DbusmenuMenuitem* item = NULL;
+ QuicklistMenuItemLabel* label = NULL;
+
+ item = dbusmenu_menuitem_new ();
+
+ dbusmenu_menuitem_property_set (item,
+ DBUSMENU_MENUITEM_PROP_LABEL,
+ string);
+
+ dbusmenu_menuitem_property_set_bool (item,
+ DBUSMENU_MENUITEM_PROP_ENABLED,
+ true);
+
+ label = new QuicklistMenuItemLabel (item, true);
+
+ return label;
+}
+
+QuicklistMenuItemSeparator*
+createSeparatorItem ()
+{
+ DbusmenuMenuitem* item = NULL;
+ QuicklistMenuItemSeparator* separator = NULL;
+
+ item = dbusmenu_menuitem_new ();
+
+ dbusmenu_menuitem_property_set_bool (item,
+ DBUSMENU_MENUITEM_PROP_ENABLED,
+ true);
+
+ separator = new QuicklistMenuItemSeparator (item, true);
+
+ return separator;
+}
+
+void
+ThreadWidgetInit (nux::NThread* thread,
+ void* initData)
+{
+ QuicklistMenuItemSeparator* separator = NULL;
+ QuicklistMenuItemRadio* radio = NULL;
+ QuicklistMenuItemCheckmark* checkmark = NULL;
+ QuicklistMenuItemLabel* label = NULL;
+
+ // radio-buttons quicklist
+ gQuicklists[0] = new QuicklistView ();
+ gQuicklists[0]->Reference ();
+ radio = createRadioItem ("Option 01", true, false);
+ gQuicklists[0]->AddMenuItem (radio);
+ radio = createRadioItem ("Option 02", true, true);
+ gQuicklists[0]->AddMenuItem (radio);
+ radio = createRadioItem ("Option 03", true, false);
+ gQuicklists[0]->AddMenuItem (radio);
+ radio = createRadioItem ("Option 04", true, false);
+ gQuicklists[0]->AddMenuItem (radio);
+ separator = createSeparatorItem ();
+ gQuicklists[0]->AddMenuItem (separator);
+ label = createLabelItem ("Application Name");
+ gQuicklists[0]->AddMenuItem (label);
+ separator = createSeparatorItem ();
+ gQuicklists[0]->AddMenuItem (separator);
+ label = createLabelItem ("Remove from Quicklauncher");
+ gQuicklists[0]->AddMenuItem (label);
+ gQuicklists[0]->EnableQuicklistForTesting (true);
+ gQuicklists[0]->SetBaseXY (45, 30);
+ gQuicklists[0]->ShowWindow (true);
+
+ // checkmarks quicklist
+ gQuicklists[1] = new QuicklistView ();
+ gQuicklists[1]->Reference ();
+ checkmark = createCheckmarkItem ("Option 01", true, false);
+ gQuicklists[1]->AddMenuItem (checkmark);
+ checkmark = createCheckmarkItem ("Option 02", true, true);
+ gQuicklists[1]->AddMenuItem (checkmark);
+ checkmark = createCheckmarkItem ("Option 03", true, false);
+ gQuicklists[1]->AddMenuItem (checkmark);
+ checkmark = createCheckmarkItem ("Option 04", true, true);
+ gQuicklists[1]->AddMenuItem (checkmark);
+ separator = createSeparatorItem ();
+ gQuicklists[1]->AddMenuItem (separator);
+ label = createLabelItem ("Application Name");
+ gQuicklists[1]->AddMenuItem (label);
+ separator = createSeparatorItem ();
+ gQuicklists[1]->AddMenuItem (separator);
+ label = createLabelItem ("Remove from Quicklauncher");
+ gQuicklists[1]->AddMenuItem (label);
+ gQuicklists[1]->EnableQuicklistForTesting (true);
+ gQuicklists[1]->SetBaseXY (520, 30);
+ gQuicklists[1]->ShowWindow (true);
+
+ // disabled items quicklist
+ gQuicklists[2] = new QuicklistView ();
+ gQuicklists[2]->Reference ();
+ checkmark = createCheckmarkItem ("Option 01", true, false);
+ gQuicklists[2]->AddMenuItem (checkmark);
+ checkmark = createCheckmarkItem ("Option 02", true, false);
+ gQuicklists[2]->AddMenuItem (checkmark);
+ separator = createSeparatorItem ();
+ gQuicklists[2]->AddMenuItem (separator);
+ checkmark = createCheckmarkItem ("Option 03", false, true);
+ gQuicklists[2]->AddMenuItem (checkmark);
+ checkmark = createCheckmarkItem ("Option 04", false, true);
+ gQuicklists[2]->AddMenuItem (checkmark);
+ separator = createSeparatorItem ();
+ gQuicklists[2]->AddMenuItem (separator);
+ label = createLabelItem ("Application Name");
+ gQuicklists[2]->AddMenuItem (label);
+ separator = createSeparatorItem ();
+ gQuicklists[2]->AddMenuItem (separator);
+ label = createLabelItem ("Remove from Quicklauncher");
+ gQuicklists[2]->AddMenuItem (label);
+ gQuicklists[2]->EnableQuicklistForTesting (true);
+ gQuicklists[2]->SetBaseXY (45, 290);
+ gQuicklists[2]->ShowWindow (true);
+}
+
+int
+main (int argc, char **argv)
+{
+ nux::WindowThread* wt = NULL;
+
+ g_type_init ();
+ g_thread_init (NULL);
+ gtk_init (&argc, &argv);
+ dbus_g_thread_init ();
+ nux::NuxInitialize (0);
+
+ wt = nux::CreateGUIThread (TEXT ("Unity visual Quicklist-test"),
+ WIN_WIDTH,
+ WIN_HEIGHT,
+ 0,
+ &ThreadWidgetInit,
+ NULL);
+
+ wt->Run (NULL);
+
+ gQuicklists[0]->UnReference ();
+ gQuicklists[1]->UnReference ();
+ gQuicklists[2]->UnReference ();
+ delete wt;
+
+ return 0;
+}