Remoto - VFS: VFS_iframe Class Reference
Remoto - VFS

VFS_iframe is a button for opening an iframe in a panel. More...

#include <VFS_iframe.h>

Inheritance diagram for VFS_iframe:
VFS_node

Public Member Functions

Q_INVOKABLE VFS_iframe (QString url, QString label=QString(), QString icon=QString())
 
virtual ~VFS_iframe ()
 
virtual QString reportDetails ()
 Reports the current url value. More...
 
- Public Member Functions inherited from VFS_node
Q_INVOKABLE VFS_node ()
 The VFS_node constructor will add its instance to the VFS_node::__allNodes global node registry, observing thread safety rules. More...
 
virtual ~VFS_node ()
 VFS_node destructor. More...
 
virtual VFS_nodeappend (QString name, VFS_node *node, bool containerCheck=true, QString user="server")
 Append a VFS_node as a child of this node. More...
 
QString className ()
 Return the class name of a node. More...
 
virtual VFS_requestcreateRequest (VFS_request::requestType type, QString path, QString user="unknown", QJsonDocument data=QJsonDocument(), QJsonObject metadata=QJsonObject(), bool dontDelete=false)
 Create a new VFS_request with this object as _origin. More...
 
VFS_nodefind (QString path)
 Find a node by string path. More...
 
virtual VFS_nodefind (VFS_request *r)
 Find a node using a VFS_request. More...
 
VFS_nodefindChildWithName (QString name)
 Check if a child with a given name exists. More...
 
virtual bool isContainer ()
 A VFS_node may have children. More...
 
virtual VFS_nodemount ()
 Mount this node. More...
 
QString uniqueChildName (QString name)
 Generate a unique child name. More...
 
virtual VFS_nodeunmount ()
 Unmount this node. More...
 
virtual bool validChildName (QString name)
 Check if a node name is valid. More...
 

Protected Member Functions

virtual QByteArray icon ()
 The icon for the button. More...
 
virtual void metadata (VFS_request *r)
 Return the metadata needed to create an iframe pane in the nearest available tab in the layout. More...
 
virtual void read (VFS_request *r)
 Read the contents of this node, which will contain its url. More...
 
- Protected Member Functions inherited from VFS_node
virtual void aclDefaults (VFS_request *r)
 Return default values and features associated wth this node. More...
 
void addACLDefault (QJsonObject &acl, bool value, QString description="")
 Add a default value to the acl object. More...
 
void addACLFeature (QJsonObject &acl, QString feature, bool value, QString description="")
 Add a feature to the acl object. More...
 
void addACLFeatureGroup (QJsonObject &acl, QString feature, QString group, bool value)
 Add a feature group to the acl object. More...
 
void addACLFeatureUser (QJsonObject &acl, QString feature, QString user, bool value)
 Add a feature user to the acl object. More...
 
void addACLGroup (QJsonObject &acl, QString group, bool value)
 Add a group to the acl object. More...
 
void addACLUser (QJsonObject &acl, QString user, bool value)
 Add a user to the acl object. More...
 
virtual void issueRequest (VFS_node *target, VFS_request *t)
 Issue a VFS_request to its target. More...
 
virtual void issueRequest (VFS_request *t)
 A convenience function. More...
 
virtual void issueResponse (VFS_request *t)
 Once a request has been completed, issue a response. More...
 
virtual void ls (VFS_request *r)
 List the contents of this node. More...
 
virtual void releaseLock (VFS_request *r)
 Release a lock on this node. More...
 
virtual void report (VFS_request *r)
 Report debugging information about the current state of this node. More...
 
virtual void requestLock (VFS_request *r)
 Request a lock on this node. More...
 
virtual void rm (VFS_request *r)
 Remove a child entry from a node, or the node itself. More...
 
virtual void submit (VFS_request *r)
 Submit a diff to a node. More...
 
virtual void subscribe (VFS_request *r)
 Add an entry to this node's _subscription list. More...
 
virtual void unsubscribe (VFS_request *r)
 Remove an entry from this node's _subscription list. More...
 
virtual void unsubscribePath (QString path)
 Unsubscribe all references to a subpath. More...
 
virtual void write (VFS_request *r)
 Write data to this node. More...
 

Protected Attributes

QByteArray _icon
 The icon to use. Will default to "application" from VFS_icons if missing. More...
 
QString _label
 The label to use. More...
 
- Protected Attributes inherited from VFS_node
VFS_children _children
 This node's children. More...
 
QMutex _lock
 A recursive mutex that is local to this node. More...
 
VFS_subscriptionType _subscribers
 This node's subscribers. These subscribers will receive diff notifications. More...
 

Private Attributes

QString _url
 The url to report to the iframe. More...
 

Additional Inherited Members

- Public Slots inherited from VFS_node
virtual void applyDiff (VFS_request *r)
 Apply a diff received via subscription. More...
 
virtual void executeRequest (VFS_request *t)
 Based on the VFS_request::requestType, execute the function associated with an operation. More...
 
void notifySubscribers (VFS_node *origin, VFS_request *t)
 Propagate a diff to subscribers. More...
 
virtual void receiveResponse (VFS_request *t)
 Once a VFS_request has been completed, a response will be issued back to its _origin. More...
 
void remove (bool andDelete)
 Remove a child node. More...
 
virtual void remove (VFS_node *node=nullptr, QString *name=nullptr, QString user="server")
 Remove a child node from this node. More...
 
virtual void subtreeRequest (VFS_request *t)
 find() the target of a VFS_request, and execute the request More...
 
virtual void unsubscribeAll (VFS_node *n)
 Remove all references to a subscriber from this node. More...
 
- Signals inherited from VFS_node
void diff (VFS_node *origin, VFS_request *t)
 Emit a diff, which will trigger notifySubscribers() for a mounted node. More...
 
void finished (bool andDelete=false)
 Emitted if a thread fails to create its node, or a node is rm()'d, or any other reason a node has completed its lifecycle. It is deleted if andDelete==true. More...
 
void mounted ()
 Emitted when a node is mount()ed. More...
 
void unmounted (VFS_node *self)
 Emitted when a node is unmount()ed. More...
 
- Static Public Member Functions inherited from VFS_node
static bool __isNode (VFS_node *)
 Check to see if a node is in the global registry. More...
 
static QString code (QString nodename, QString libname, QString &error)
 Fetch code or any other resource from a node. More...
 

Detailed Description

VFS_iframe is a button for opening an iframe in a panel.

For loading external tools or webpages within a VFS gui. This will usually want to be subclassed so that an icon can be specified and it can be potentially be packaged with any other tools behind the link.

Config example:

<iframe name='Google' url='http://google.com' />
Load an iframe into a pane.

Definition at line 8 of file VFS_iframe.h.

Constructor & Destructor Documentation

◆ VFS_iframe()

VFS_iframe::VFS_iframe ( QString  url,
QString  label = QString(),
QString  icon = QString() 
)
explicit
Parameters
urlThe url of the page to load
labelThe label when presented in a menu, provided in the metadata
iconThe icon to use, or nullptr if missing

Definition at line 28 of file VFS_iframe.cpp.

◆ ~VFS_iframe()

VFS_iframe::~VFS_iframe ( )
virtual

Definition at line 36 of file VFS_iframe.cpp.

Member Function Documentation

◆ icon()

QByteArray VFS_iframe::icon ( )
protectedvirtual

The icon for the button.

By default this is the "application" icon, but usually you will want to set this in a subclass.

Reimplemented from VFS_node.

Definition at line 45 of file VFS_iframe.cpp.

◆ metadata()

void VFS_iframe::metadata ( VFS_request r)
protectedvirtual

Return the metadata needed to create an iframe pane in the nearest available tab in the layout.

Reimplemented from VFS_node.

Definition at line 87 of file VFS_iframe.cpp.

◆ read()

void VFS_iframe::read ( VFS_request r)
protectedvirtual

Read the contents of this node, which will contain its url.

Parameters
rThe VFS_request object

The format of the resulting data will be:

{
"url": [value of url]
}

Reimplemented from VFS_node.

Definition at line 74 of file VFS_iframe.cpp.

◆ reportDetails()

QString VFS_iframe::reportDetails ( )
virtual

Reports the current url value.

Reimplemented from VFS_node.

Definition at line 56 of file VFS_iframe.cpp.

Member Data Documentation

◆ _icon

QByteArray VFS_iframe::_icon
protected

The icon to use. Will default to "application" from VFS_icons if missing.

Definition at line 20 of file VFS_iframe.h.

◆ _label

QString VFS_iframe::_label
protected

The label to use.

Definition at line 19 of file VFS_iframe.h.

◆ _url

QString VFS_iframe::_url
private

The url to report to the iframe.

Definition at line 33 of file VFS_iframe.h.


The documentation for this class was generated from the following files: