VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes
makVrf::DtScriptEditor Class Reference

Class that will request and spawn an editor that will allow the editing of the given scripted task. This editor will create a temporary file to be handed to the editing application and will monitor changes to that temporary file. If changes are made the new script will be sent to all back-ends.

Inheritance diagram for makVrf::DtScriptEditor:
Inheritance graph
[legend]

Classes

struct  FileInfo
 
struct  PendingRequest
 

Public Member Functions

 DtScriptEditor (makVrv::DtDe &, const std::string &tmpDir="scripts")
 
virtual ~DtScriptEditor () override
 
virtual void edit (const std::string &, int scriptType, const std::string &commentBlock="")
 
virtual void editNew (const std::string &id, int sType, const std::string &script, const std::string &scriptEngine, const std::string &commentBlock="")
 
virtual void view (const std::string &)
 
virtual void closeEditorFor (const std::string &)
 
virtual bool alreadyEditing (const std::string &id) const
 
virtual void editExternalScript (const std::string &filename)
 
virtual bool hasScriptFor (const std::string &) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtScriptEditorinstance (makVrv::DtDe &de)
 
static void registerInstance (makVrv::DtDe &, DtScriptEditor *)
 

Public Attributes

boost::signals2::signal< void(const
std::string &, const
std::string &)> 
signal_scriptModified
 
boost::signals2::signal< void(const
std::string &)> 
signal_editingComplete
 

Protected Types

typedef std::map< std::string,
FileInfo
FileInfoMap
 

Protected Slots

virtual void editingComplete (int, QProcess::ExitStatus)
 
virtual void startupError (QProcess::ProcessError)
 

Protected Member Functions

virtual void slot_scriptSaveError (std::string scriptId)
 
virtual void receivedScript (DtSimMessage *)
 
virtual void slot_aboutToClearScriptedTasks ()
 
virtual void slot_scriptedTaskAboutToBeRemoved (std::string scriptId)
 
virtual void editScript (const std::string &id, int sType, const std::string &script, const std::string &scriptEngine="lua", bool readOnly=false, bool localOnly=false, bool scriptIsFilename=false, const std::string &commentBlock="")
 
virtual void tick ()
 
virtual void checkNeedsUpdate (const std::string &filename)
 
virtual void scriptBeingRemoved ()
 
virtual void slot_scriptedTaskAdded (std::string)
 
virtual void editingComplete (QProcess *)
 
virtual bool checkForScriptErrors (const DtScriptedTaskMetaData &) const
 
virtual std::string cleanUpError (const std::string &) const
 
virtual void exitingApplication ()
 

Protected Attributes

makVrv::DtDemyDe
 
std::map< DtU32, PendingRequestmyPendingRequests
 
FileInfoMap myFileInfoMap
 
makVrv::DtSignalConnectionManager myConnections
 
DtFilename myTempDirectory
 
std::set< std::string > myHasScriptFor
 

Member Typedef Documentation

typedef std::map<std::string, FileInfo> makVrf::DtScriptEditor::FileInfoMap
protected

Constructor & Destructor Documentation

makVrf::DtScriptEditor::DtScriptEditor ( makVrv::DtDe ,
const std::string &  tmpDir = "scripts" 
)

CTOR.

virtual makVrf::DtScriptEditor::~DtScriptEditor ( )
overridevirtual

DTOR.

Member Function Documentation

static DtScriptEditor& makVrf::DtScriptEditor::instance ( makVrv::DtDe de)
static

Returns instance of the manager.

static void makVrf::DtScriptEditor::registerInstance ( makVrv::DtDe ,
DtScriptEditor  
)
static
virtual void makVrf::DtScriptEditor::edit ( const std::string &  ,
int  scriptType,
const std::string &  commentBlock = "" 
)
virtual

Request the script for the given task and start editing.

virtual void makVrf::DtScriptEditor::editNew ( const std::string &  id,
int  sType,
const std::string &  script,
const std::string &  scriptEngine,
const std::string &  commentBlock = "" 
)
virtual

Edits a new script file without requesting information from the back-end for the current script.

virtual void makVrf::DtScriptEditor::view ( const std::string &  )
virtual

Request the script for view only access.

virtual void makVrf::DtScriptEditor::closeEditorFor ( const std::string &  )
virtual

If editing, closes the editor for the specified script.

virtual bool makVrf::DtScriptEditor::alreadyEditing ( const std::string &  id) const
virtual

Returns true if already editing script.

virtual void makVrf::DtScriptEditor::editExternalScript ( const std::string &  filename)
virtual

Edits an external script as local only. Good for editing script files (Lua) that can leverage script parsing.

virtual bool makVrf::DtScriptEditor::hasScriptFor ( const std::string &  ) const
virtual

Returns true if there was at least one time there was a script for this script id.

virtual void makVrf::DtScriptEditor::slot_scriptSaveError ( std::string  scriptId)
protectedvirtual
virtual void makVrf::DtScriptEditor::receivedScript ( DtSimMessage )
protectedvirtual

Received when script is received.

Reimplemented in makVrf::DtDesignerEditor.

virtual void makVrf::DtScriptEditor::slot_aboutToClearScriptedTasks ( )
protectedvirtual

Called when a script is removed, stop editing the script in question.

virtual void makVrf::DtScriptEditor::slot_scriptedTaskAboutToBeRemoved ( std::string  scriptId)
protectedvirtual
virtual void makVrf::DtScriptEditor::editScript ( const std::string &  id,
int  sType,
const std::string &  script,
const std::string &  scriptEngine = "lua",
bool  readOnly = false,
bool  localOnly = false,
bool  scriptIsFilename = false,
const std::string &  commentBlock = "" 
)
protectedvirtual

Starts the editing of the specified script.

virtual void makVrf::DtScriptEditor::tick ( )
protectedvirtual

Check last modified dates of files to see if they have changed. If they have update the server.

virtual void makVrf::DtScriptEditor::checkNeedsUpdate ( const std::string &  filename)
protectedvirtual

Checks to see if this file has been updated since last time. If so sends the script update message to the server.

Reimplemented in makVrf::DtDesignerEditor.

virtual void makVrf::DtScriptEditor::scriptBeingRemoved ( )
protectedvirtual

Called when a script is removed, put up a dialog announcing why editor is being closed.

Reimplemented in makVrf::DtDesignerEditor.

virtual void makVrf::DtScriptEditor::slot_scriptedTaskAdded ( std::string  )
protectedvirtual

Called when a script is added, see if the script has changed from scenario to system script.

virtual void makVrf::DtScriptEditor::editingComplete ( QProcess *  )
protectedvirtual

Call to complete editing on the given process.

virtual bool makVrf::DtScriptEditor::checkForScriptErrors ( const DtScriptedTaskMetaData ) const
protectedvirtual

Checks for syntax errors in script. Will not abort any processes because of it, but, will warn the user. Will also mark script as having errors to display to the user. Returns false if there are no errors.

virtual std::string makVrf::DtScriptEditor::cleanUpError ( const std::string &  ) const
protectedvirtual

Cleans up error to remove some information that might not be meaningful to users.

virtual void makVrf::DtScriptEditor::exitingApplication ( )
protectedvirtual
virtual void makVrf::DtScriptEditor::editingComplete ( int  ,
QProcess::ExitStatus   
)
protectedvirtualslot
virtual void makVrf::DtScriptEditor::startupError ( QProcess::ProcessError  )
protectedvirtualslot

Member Data Documentation

boost::signals2::signal<void (const std::string&, const std::string&)> makVrf::DtScriptEditor::signal_scriptModified

Signals sent when scripts are changed or an editor closed.

boost::signals2::signal<void (const std::string&)> makVrf::DtScriptEditor::signal_editingComplete
makVrv::DtDe& makVrf::DtScriptEditor::myDe
protected
std::map<DtU32, PendingRequest> makVrf::DtScriptEditor::myPendingRequests
protected
FileInfoMap makVrf::DtScriptEditor::myFileInfoMap
protected
makVrv::DtSignalConnectionManager makVrf::DtScriptEditor::myConnections
protected
DtFilename makVrf::DtScriptEditor::myTempDirectory
protected
std::set<std::string> makVrf::DtScriptEditor::myHasScriptFor
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)