Feature/webgui ops (#723)

* Update node packages, download nodejs in build process, start server from openspace process
  * Patch CEF cmake automatically
  * Build webserver automatically
  * Work on CMake for WebBrowser, Webgui and CefWebGui
  * Map key modifiers to CEF
  * Smooth time interpolation in webgui
  * Automatically focus on search field in filter lists
  * Move webgui code to external repositories
  * Use asset system to distribute webgui
  * Remove webgui from main repository
  * Add support for right click in webgui and improve timetopic
  * Resolve cmake policy warning
  * Add relative time interpolation to lua interface
  * Sanitize json error message before logging error. Workaround for #736
  * Added gui properties to scene graph nodes
  * Add version topic
  * Add shortcuttopic
  * Add ability to disable rendering of cefwebgui
  * Don't do message loop work if there is no browser.
  * Set correct path to nodejs on unix
  * Message loop work in presync
  * modifications for shortcuts in gui, added names for shortcuts
  * Set properties via lua scripts
  * Allow gui grouping for shortcuts
  * Add gui paths keybindings
  * Blocking keyboard callbacks when webgui has keyboard focus in an editable field
  * Allow disabling of WebBrowser and CefWebGui
  * Make it possible to hide GUI
  * Get rid of redundant dashboard items if web gui is used
  * Hide WebGUI on slave nodes
  * Hide WebGUI on main rendering window if a GUI window exists
 * Enable WebGUI on default unless it is overwritten in the openspace.cfg
  * Add guiName for propery owners in socket api
This commit is contained in:
Emil Axelsson
2018-11-05 20:45:38 -05:00
committed by Alexander Bock
parent ec67169854
commit 7181de4673
286 changed files with 2546 additions and 18165 deletions
-2
View File
@@ -108,8 +108,6 @@ struct Configuration {
std::string serverPasskey = "17308";
bool doesRequireSocketAuthentication = true;
std::vector<std::string> clientAddressWhitelist = {};
std::string webHelperLocation = "";
std::string cefWebGuiUrl = "";
struct HTTPProxy {
bool usingHttpProxy = false;
@@ -47,6 +47,8 @@ public:
std::string command;
IsSynchronized synchronization;
std::string documentation;
std::string name;
std::string guiPath;
};
KeybindingManager();
@@ -54,10 +56,10 @@ public:
void resetKeyBindings();
void bindKeyLocal(Key key, KeyModifier modifier, std::string luaCommand,
std::string documentation = "");
std::string documentation = "", std::string name = "", std::string guiPath = "");
void bindKey(Key key, KeyModifier modifier, std::string luaCommand,
std::string documentation = "");
std::string documentation = "", std::string name = "", std::string guiPath = "");
void removeKeyBinding(const std::string& key);
@@ -42,6 +42,7 @@ public:
std::string script;
IsSynchronized synchronization;
std::string documentation;
std::string guiPath;
};
void resetShortcuts();
+6 -3
View File
@@ -33,6 +33,8 @@
#include <functional>
#include <memory>
#include <vector>
#include <openspace/properties/stringproperty.h>
#include <openspace/properties/scalar/boolproperty.h>
//#define Debugging_Core_SceneGraphNode_Indices
@@ -139,7 +141,7 @@ public:
const Renderable* renderable() const;
Renderable* renderable();
const std::string& guiPath() const;
std::string guiPath() const;
bool hasGuiHintHidden() const;
static documentation::Documentation Documentation();
@@ -158,13 +160,14 @@ private:
// If this value is 'true' GUIs are asked to hide this node from collections, as it
// might be a node that is not very interesting (for example barycenters)
bool _guiHintHidden = false;
properties::BoolProperty _guiHidden;
PerformanceRecord _performanceRecord = { 0, 0, 0, 0, 0 };
std::unique_ptr<Renderable> _renderable;
std::string _guiPath;
properties::StringProperty _guiPath;
properties::StringProperty _guiDisplayName;
// Transformation defined by ephemeris, rotation and scale
struct {
+2
View File
@@ -86,6 +86,7 @@ public:
float defaultUnpauseInterpolationDuration() const;
void interpolateTime(double targetTime, double durationSeconds);
void interpolateTimeRelative(double delta, double durationSeconds);
void interpolateDeltaTime(double targetDeltaTime, double durationSeconds);
void interpolatePause(bool pause, double durationSeconds);
@@ -121,6 +122,7 @@ private:
double _targetDeltaTime = 1.0;
double _deltaTime = 0.0;
double _lastTime = 0;
bool _lastTimePaused = false;
double _lastDeltaTime = 0;
properties::FloatProperty _defaultTimeInterpolationDuration;