ui: add controller widget & remove unused line 15/25215/1
authorGiWoong Kim <giwoong.kim@samsung.com>
Thu, 31 Jul 2014 09:08:15 +0000 (18:08 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Thu, 31 Jul 2014 09:08:15 +0000 (18:08 +0900)
Change-Id: I441d92cac9e4759c293afe14baddae6678cf509a
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/display/qt5.c
tizen/src/display/qt5_supplement.cpp
tizen/src/display/qt5_supplement.h
tizen/src/ui/Makefile.objs
tizen/src/ui/controllerwidget.cpp [new file with mode: 0644]
tizen/src/ui/controllerwidget.h [new file with mode: 0644]
tizen/src/ui/mainwindow.cpp
tizen/src/ui/skincontrollerview.cpp
tizen/src/ui/skincontrollerview.h

index ea4b9d526510a0c54c34bdd6a1ec096d029ce4c6..9ef429092fc0a01342926db027f6d14e88e9a06e 100644 (file)
@@ -44,12 +44,14 @@ static void qt5_update(DisplayChangeListener *dcl,
                        int x, int y, int w, int h)
 {
     DisplaySurface *surf = qemu_console_surface(dcl->con);
-
     if (!surf) {
         return;
     }
 
-//    qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf));
+#if 0
+    /* testing */
+    qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf));
+#endif
 }
 
 static void qt5_switch(DisplayChangeListener *dcl,
@@ -112,8 +114,6 @@ void maru_qt5_display_init(MaruDisplayChangeListener *mdcl, int full_screen)
         qt5_console[i].idx = i;
     }
 
-    // TODO: show icon
-
     if (full_screen) {
         // TODO
     }
index f7816d6005b49fcf32c799bbe6076863ce52ec77..ed4409789d0e85f29da3c32e84eb793a51d9075c 100644 (file)
@@ -52,14 +52,9 @@ void loadControllerLayoutFromXML(QFile *, UIInformation *);
 
 static QApplication *app;
 
-QT5Console::QT5Console()
-{
-
-}
-
 static int argc = 0;
 static char *argv[0];
-//static QT5Console *console;
+
 static MainWindow *mainwindow;
 static UIInformation *uiInfo;
 
@@ -103,8 +98,6 @@ void qt5_skin_init(void)
     mainwindow = new MainWindow(uiInfo);
 //    mainwindow->move(100, 100); // TODO: MRU
     mainwindow->show();
-
-//    app.exec();
 }
 
 void qt5_early_prepare(void)
@@ -118,10 +111,6 @@ void qt5_early_prepare(void)
 void qt5_prepare(void)
 {
     qt5_skin_init();
-
-//    app = new QApplication(argc, argv);
-//    console = new QT5Console();
-//    console->show();
 }
 
 void qt5_update_internal(void *data, int width, int height)
index 999c34ebc8bae472c1646e57149110b8f6194bd1..c160482819e10f7f16f9fd9a607097549ccb018e 100644 (file)
 #ifndef __QT5_INTERNAL_H__
 #define __QT5_INTERNAL_H__
 
-#ifdef __cplusplus
-#include <QtWidgets>
-
-class QT5Console : public QWidget
-{
-    Q_OBJECT
-
-public:
-    QT5Console();
-
-protected:
-
-private:
-};
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
index 1845870490abc37c6018a624835dba466ad3c0de..8034a6516dd9cb7edd2c4e8c6985c6ded17e1e6f 100644 (file)
@@ -6,6 +6,7 @@ $(obj)/qrc_resource.cpp: $(TIZEN_UI)/resource/resource.qrc
        rcc -name resource $< -o $@
 
 obj-$(CONFIG_QT) += controllerlayout.o
+obj-$(CONFIG_QT) += controllerwidget.o moc_controllerwidget.o
 obj-$(CONFIG_QT) += displaywidget.o moc_displaywidget.o
 obj-$(CONFIG_QT) += hardwarekey.o
 obj-$(CONFIG_QT) += mainwindow.o moc_mainwindow.o
@@ -22,6 +23,9 @@ obj-$(CONFIG_QT) += xml/
 
 obj-$(CONFIG_QT) += menu/
 
+$(obj)/moc_controllerwidget.o: $(obj)/moc_controllerwidget.cpp
+$(obj)/moc_controllerwidget.cpp: $(obj)/controllerwidget.h
+       moc $< -o $@
 $(obj)/moc_displaywidget.o: $(obj)/moc_displaywidget.cpp
 $(obj)/moc_displaywidget.cpp: $(obj)/displaywidget.h
        moc $< -o $@
diff --git a/tizen/src/ui/controllerwidget.cpp b/tizen/src/ui/controllerwidget.cpp
new file mode 100644 (file)
index 0000000..6ec8f31
--- /dev/null
@@ -0,0 +1,24 @@
+#include <QtWidgets>
+
+#include "controllerwidget.h"
+
+ControllerWidget::ControllerWidget(ControllerLayout *conLayout, QWidget *parent) :
+    QLabel(parent)
+{
+    setStyleSheet("border-style: none");
+
+    QHBoxLayout *layout = new QHBoxLayout(this);
+    layout->setMargin(0);
+    layout->setSpacing(0);
+
+    QGraphicsScene *conScene = new QGraphicsScene(this);
+
+    conView = new SkinControllerView(conLayout, conScene, this);
+    conView->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
+    layout->addWidget(conView);
+}
+
+ControllerWidget::~ControllerWidget()
+{
+    qDebug("destroy contoller");
+}
diff --git a/tizen/src/ui/controllerwidget.h b/tizen/src/ui/controllerwidget.h
new file mode 100644 (file)
index 0000000..f2e7863
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef CONTROLLERWIDGET_H
+#define CONTROLLERWIDGET_H
+
+#include <QLabel>
+
+#include "controllerlayout.h"
+#include "skincontrollerview.h"
+
+class ControllerWidget : public QLabel
+{
+    Q_OBJECT
+
+public:
+    explicit ControllerWidget(ControllerLayout *conLayout, QWidget *parent = 0);
+    ~ControllerWidget();
+
+private:
+    SkinControllerView *conView;
+};
+
+#endif // CONTROLLERWIDGET_H
index f0f1c1001bf863b431fe555d2f875f0ea4ceefc7..38cc138cd9722d07e845d9bf6c38c54f46c88414 100644 (file)
@@ -4,6 +4,7 @@
 #include "displaywidget.h"
 #include "skinlayout.h"
 #include "skincontrollerview.h"
+#include "controllerwidget.h"
 
 QOpenGLContext *qt5GLContext = NULL;
 QSurfaceFormat qt5GLFormat;
@@ -76,26 +77,29 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) :
 
     /* scene */
     QGraphicsScene* skinScene = new QGraphicsScene(this);
-    //item->setFlags(QGraphicsItem::ItemIsMovable);
-    //item->setAttribute(Qt::WA_Hover);
 
     /* view */
     skinView = new SkinView(skinScene, this);
     skinView->setStyleSheet("background: transparent");
+    //skinView->setStyleSheet("border-style: none");
     skinView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     skinView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-    //view->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
     winLayout->addWidget(skinView);
 
-    /* TODO */
     if (uiInfo->controllerList.count() > 0) {
+#if 0
+        // TODO: docked controller
         QGraphicsScene *conScene = new QGraphicsScene(this);
+
         conView = new SkinControllerView(conScene, this);
-        conView->setStyleSheet("background: transparent");
-        conView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-        conView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
         conView->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
         winLayout->addWidget(conView);
+#endif
+
+        /* floated controller */
+        ControllerLayout *conLayout = uiInfo->controllerList.at(0);
+        ControllerWidget *con = new ControllerWidget(conLayout);
+        con->show();
     }
 
     QGLContext *wrapperContext = QGLContext::fromOpenGLContext(qt5GLContext);
@@ -122,6 +126,7 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) :
     context->create(wrapperContext);
 
     /* popup menu */
+    // TODO: thread
     popupMenu = new ContextMenu(this);
 
     setContextMenuPolicy(Qt::CustomContextMenu);
@@ -203,8 +208,6 @@ void MainWindow::setRegion(QImage baseImage)
 {
     qDebug("set region");
 
-    // TODO: remove border
-
     QImage region = baseImage.createAlphaMask().scaled(
                 baseImage.width() * getUIState()->getScaleFactor(),
                 baseImage.height() * getUIState()->getScaleFactor());
index 47dd39059ec9185fda5385ef563e7028b160b699..73e762c2fa512b1a2b90cb0f28004f2296f31761 100644 (file)
@@ -2,31 +2,33 @@
 #include "mainwindow.h"
 #include "skinkeyitem.h"
 
-SkinControllerView::SkinControllerView(QGraphicsScene *scene, QWidget *parent) :
+SkinControllerView::SkinControllerView(ControllerLayout *conLayout, QGraphicsScene *scene, QWidget *parent) :
     QGraphicsView(scene, parent)
 {
+    setStyleSheet("background: transparent");
+    setStyleSheet("border-style: none");
+    setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+    setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+
     setAlignment(Qt::AlignLeft | Qt::AlignTop);
 
-    createItems();
+    createItems(conLayout);
 }
 
-void SkinControllerView::createItems()
+void SkinControllerView::createItems(ControllerLayout *conLayout)
 {
-    MainWindow *win = ((MainWindow *)this->parent());
-
     /* bezel */
-    SkinBezelItem *bezelItem = new SkinBezelItem(
-                win->uiInfo->controllerList.at(0)->conImg[0]);
+    SkinBezelItem *bezelItem = new SkinBezelItem(conLayout->conImg[ControllerLayout::normal]);
     scene()->addItem(bezelItem);
 
     /* HW keys */
-    QList<HardwareKey *> keyList = win->uiInfo->controllerList.at(0)->keyList;
+    QList<HardwareKey *> keyList = conLayout->keyList;
 
     HardwareKey *hwKey = NULL;
     for (int i = 0; i < keyList.count(); i++) {
         hwKey = keyList.at(i);
         if (hwKey != NULL) {
-            new SkinKeyItem(win->uiInfo->controllerList.at(0)->conImg[0].copy(hwKey->region),
+            new SkinKeyItem(conLayout->conImg[ControllerLayout::pressed].copy(hwKey->region),
                     hwKey, bezelItem);
         }
     }
index 00ddf6fd93b22aede4d3ba22b14045e4ee8f7977..f9743f751a6fa8ce63310632bd2283c79455e5f5 100644 (file)
@@ -2,18 +2,19 @@
 #define SKINCONTROLLERVIEW_H
 
 #include "skinview.h"
+#include "controllerlayout.h"
 
 class SkinControllerView : public QGraphicsView
 {
 public:
-    SkinControllerView(QGraphicsScene *scene, QWidget *parent = 0);
+    SkinControllerView(ControllerLayout *conLayout, QGraphicsScene *scene, QWidget *parent = 0);
     ~SkinControllerView();
 
 protected:
     void resizeEvent(QResizeEvent *event);
 
 private:
-    void createItems();
+    void createItems(ControllerLayout *conLayout);
 };
 
 #endif // SKINCONTROLLERVIEW_H