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 }
property alias model: comboBox.model;
property alias editable: comboBox.editable
property alias comboBox: comboBox
readonly property alias currentText: comboBox.currentText;
property alias currentIndex: comboBox.currentIndex;

View file

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

View file

@ -8,19 +8,43 @@
#include "InputConfiguration.h"
#include "DisplayPlugin.h"
#include "InputPlugin.h"
#include "PluginManager.h"
InputConfiguration::InputConfiguration() {
}
void InputConfiguration::inputPlugins() {
PluginManager* inputPlugin = PluginManager::getInstance();
}
void InputConfiguration::enabledInputPlugins() {
qDebug() << "getting enabled plugins";
QStringList InputConfiguration::inputPlugins() {
QStringList inputPlugins;
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
inputPlugins << QString(plugin->getName());
}
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 <QObject>
#include <QString>
#include <QStringList>
#include <QJsonObject>
#include <DependencyManager.h>
class InputConfiguration : public QObject, public Dependency {
Q_OBJECT
public:
InputConfiguration();
void inputPlugins();
void enabledInputPlugins();
Q_INVOKABLE QStringList inputPlugins();
Q_INVOKABLE QStringList activeInputPlugins();
Q_INVOKABLE QString configurationLayout(QString pluginName);
Q_INVOKABLE void configurationSettings(QJsonObject configurationSettings, QString pluginName);
};
#endif

View file

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

View file

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

View file

@ -10,7 +10,7 @@ if (APPLE OR WIN32)
set(TARGET_NAME hifiNeuron)
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()
endif()

View file

@ -8,5 +8,5 @@
set(TARGET_NAME hifiSdl2)
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()

View file

@ -9,6 +9,6 @@
if (NOT ANDROID)
set(TARGET_NAME hifiSixense)
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()
endif ()

View file

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

View file

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

View file

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