base ui working

This commit is contained in:
Dante Ruiz 2017-06-06 00:32:20 +01:00
parent 016cf45d0f
commit 19b134b0ac
12 changed files with 66 additions and 23 deletions

View file

@ -20,6 +20,7 @@ FocusScope {
HifiConstants { id: hifi } HifiConstants { id: hifi }
property alias model: comboBox.model; property alias model: comboBox.model;
property alias editable: comboBox.editable
property alias comboBox: comboBox property alias comboBox: comboBox
readonly property alias currentText: comboBox.currentText; readonly property alias currentText: comboBox.currentText;
property alias currentIndex: comboBox.currentIndex; property alias currentIndex: comboBox.currentIndex;

View file

@ -20,6 +20,8 @@ Rectangle {
color: hifi.colors.baseGray color: hifi.colors.baseGray
property var pluginSettings: null
Rectangle { Rectangle {
width: inputConfiguration.width width: inputConfiguration.width
height: 1 height: 1
@ -71,17 +73,22 @@ Rectangle {
HifiControls.ComboBox { HifiControls.ComboBox {
id: box id: box
width: 160 width: 160
editable: true
colorScheme: hifi.colorSchemes.dark colorScheme: hifi.colorSchemes.dark
model: inputPlugins() model: inputPlugins()
onCurrentIndexChanged: {
var object = {"Test": "hello"};
InputConfiguration.configurationSettings(object, box.currentText);
}
} }
HifiControls.CheckBox { HifiControls.CheckBox {
onClicked: { onClicked: {
if (checked) { if (checked) {
console.log("button checked"); box.model = InputConfiguration.activeInputPlugins();
Tablet.getTablet(""); } else {
InputConfiguration.inputPlugins(); box.model = InputConfiguration.inputPlugins();
} }
} }
} }
@ -89,7 +96,6 @@ Rectangle {
} }
function inputPlugins() { function inputPlugins() {
var plugins = ["temp"]; return InputConfiguration.inputPlugins();
return plugins
} }
} }

View file

@ -8,19 +8,43 @@
#include "InputConfiguration.h" #include "InputConfiguration.h"
#include "DisplayPlugin.h"
#include "InputPlugin.h"
#include "PluginManager.h" #include "PluginManager.h"
InputConfiguration::InputConfiguration() { InputConfiguration::InputConfiguration() {
} }
void InputConfiguration::inputPlugins() { QStringList InputConfiguration::inputPlugins() {
PluginManager* inputPlugin = PluginManager::getInstance(); QStringList inputPlugins;
} for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
inputPlugins << QString(plugin->getName());
void InputConfiguration::enabledInputPlugins() { }
qDebug() << "getting enabled plugins"; return inputPlugins;
} }
QStringList InputConfiguration::activeInputPlugins() {
QStringList activePlugins;
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->isActive()) {
activePlugins << QString(plugin->getName());
}
}
return activePlugins;
}
QString InputConfiguration::configurationLayout(QString pluginName) {
QString sourcePath;
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->getName() == pluginName) {
qDebug() << "------------> testing <----------";
}
}
return sourcePath;
}
void InputConfiguration::configurationSettings(QJsonObject configurationSettings, QString pluginName) {
qDebug() << configurationSettings["Test"];
}

View file

@ -12,15 +12,20 @@
#include <mutex> #include <mutex>
#include <QObject> #include <QObject>
#include <QString>
#include <QStringList>
#include <QJsonObject>
#include <DependencyManager.h> #include <DependencyManager.h>
class InputConfiguration : public QObject, public Dependency { class InputConfiguration : public QObject, public Dependency {
Q_OBJECT Q_OBJECT
public: public:
InputConfiguration(); InputConfiguration();
void inputPlugins(); Q_INVOKABLE QStringList inputPlugins();
void enabledInputPlugins(); Q_INVOKABLE QStringList activeInputPlugins();
Q_INVOKABLE QString configurationLayout(QString pluginName);
Q_INVOKABLE void configurationSettings(QJsonObject configurationSettings, QString pluginName);
}; };
#endif #endif

View file

@ -11,6 +11,7 @@
#pragma once #pragma once
#include "Plugin.h" #include "Plugin.h"
#include <QJsonObject>
namespace controller { namespace controller {
struct InputCalibrationData; struct InputCalibrationData;
@ -25,5 +26,5 @@ public:
// If an input plugin is only a single device, it will only return it's primary name. // If an input plugin is only a single device, it will only return it's primary name.
virtual QStringList getSubdeviceNames() { return { getName() }; }; virtual QStringList getSubdeviceNames() { return { getName() }; };
virtual bool isHandController() const = 0; virtual bool isHandController() const = 0;
virtual void inputPluginConfigurationSettings(const QJsonObject configurationSettings) { }
}; };

View file

@ -8,7 +8,7 @@
set(TARGET_NAME hifiCodec) set(TARGET_NAME hifiCodec)
setup_hifi_client_server_plugin() setup_hifi_client_server_plugin()
link_hifi_libraries(audio plugins) link_hifi_libraries(audio plugins input-plugins display-plugins)
add_dependency_external_projects(hifiAudioCodec) add_dependency_external_projects(hifiAudioCodec)
target_include_directories(${TARGET_NAME} PRIVATE ${HIFIAUDIOCODEC_INCLUDE_DIRS}) target_include_directories(${TARGET_NAME} PRIVATE ${HIFIAUDIOCODEC_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${HIFIAUDIOCODEC_LIBRARIES}) target_link_libraries(${TARGET_NAME} ${HIFIAUDIOCODEC_LIBRARIES})

View file

@ -10,7 +10,7 @@ if (APPLE OR WIN32)
set(TARGET_NAME hifiNeuron) set(TARGET_NAME hifiNeuron)
setup_hifi_plugin(Script Qml Widgets) setup_hifi_plugin(Script Qml Widgets)
link_hifi_libraries(shared controllers ui plugins input-plugins) link_hifi_libraries(shared controllers ui plugins input-plugins display-plugins)
target_neuron() target_neuron()
endif() endif()

View file

@ -8,5 +8,5 @@
set(TARGET_NAME hifiSdl2) set(TARGET_NAME hifiSdl2)
setup_hifi_plugin(Script Qml Widgets) setup_hifi_plugin(Script Qml Widgets)
link_hifi_libraries(shared controllers ui plugins input-plugins script-engine) link_hifi_libraries(shared controllers ui plugins input-plugins script-engine display-plugins)
target_sdl2() target_sdl2()

View file

@ -9,6 +9,6 @@
if (NOT ANDROID) if (NOT ANDROID)
set(TARGET_NAME hifiSixense) set(TARGET_NAME hifiSixense)
setup_hifi_plugin(Script Qml Widgets) setup_hifi_plugin(Script Qml Widgets)
link_hifi_libraries(shared controllers ui plugins ui-plugins input-plugins) link_hifi_libraries(shared controllers ui plugins ui-plugins input-plugins display-plugins)
target_sixense() target_sixense()
endif () endif ()

View file

@ -94,6 +94,9 @@ bool ViveControllerManager::isSupported() const {
return openVrSupported(); return openVrSupported();
} }
void ViveControllerManager::inputPluginConfigurationSettings(const QJsonObject configurationSettings) {
}
bool ViveControllerManager::activate() { bool ViveControllerManager::activate() {
InputPlugin::activate(); InputPlugin::activate();

View file

@ -42,6 +42,8 @@ public:
bool isHandController() const override { return true; } bool isHandController() const override { return true; }
void inputPluginConfigurationSettings(const QJsonObject configurationSettings) override;
bool activate() override; bool activate() override;
void deactivate() override; void deactivate() override;
@ -145,6 +147,7 @@ private:
bool _triggersPressedHandled { false }; bool _triggersPressedHandled { false };
bool _calibrated { false }; bool _calibrated { false };
bool _timeTilCalibrationSet { false }; bool _timeTilCalibrationSet { false };
bool _calibrate { false };
mutable std::recursive_mutex _lock; mutable std::recursive_mutex _lock;
QString configToString(Config config); QString configToString(Config config);

View file

@ -8,6 +8,6 @@
set(TARGET_NAME pcmCodec) set(TARGET_NAME pcmCodec)
setup_hifi_client_server_plugin() setup_hifi_client_server_plugin()
link_hifi_libraries(shared plugins) link_hifi_libraries(shared plugins input-plugins display-plugins)
install_beside_console() install_beside_console()