ICommand

Inherited from NULL

Inherited by NULL

Friend class NULL

Description

所有会对数据进行修改的命令和操作被视为一个命令(Command),在XT中命令分为五种类型,窗口命令,无窗口命令,无窗口静默命令,无限交互命令以及特殊定制窗口命令。有窗口的命令通过xml配置文件对窗口进行可视化定制,包括控件以及布局,特殊定制窗口命令在通用窗口基础上多了一个信息代理()。命令必须在命令管理器中注册之后才能通过菜单或者按钮触发,命令的启动则由主框架(MainFrame)负责。一般来说,每个命令都需要输入参数(IParameter),用户通过命令窗口输入参数,然后命令再通过窗口获取参数值,最后来执行相应的操作,命令的输出往往对应某种数据的变化(添加、删除或者修改),它可能会导致数据视图的变化,通过函数updateFrame可指示哪些部分需要更新。XT中所有的命令都从该基类继承,重新实现相应的接口函数即可。 XT系统中所有的命令必须在命令管理器中注册之后才能被使用。

Members

Public interface


IMainFrame * m_pFrm

ICommandWindow * m_pDlg

XDocument * m_pDoc

const CommandIndex * m_pIndex

ulong m_ilNextCid

XPicker * m_pPicker

bool m_bScript


ICommand(IMainFrame * mf, XDocument * doc)

void setNextCid(ulong cid)

ulong getNextCid()

void invalidate()

void setScriptMode(bool b)

bool isScriptMode() const

bool isValid() const

bool isDocumentReady()

XDocument * getDocument()

void setDocument(XDocument * doc)

virtual void initWindow()

virtual void onDataExchange(const char * dxdialog = NULL)

virtual void exchangeScript(ParamList * param)

virtual void updateData(bool bSaveValidate = true)

void updateToDialog()

void updateFromDialog()

virtual void updateControl(const char * configStr)

virtual void onControlEvent(const char * ctrlName, TypeID event = Event_Any)

virtual void onPickChanged()

virtual void onPickRoleChanged()

virtual void onViewChanged()

virtual ErrorCode execute()

virtual const char * getUISettingXml()

virtual const char * getSubroutine()

virtual void setSubroutine(const char * subroutine)

virtual void setParam(const CmdParam * param)

virtual bool setContextParam(const TreeNode * targetNode, const TreeNode * fromNode = 0)

virtual void setTarget(vector<const XItem *> * tars, int role = 0)

virtual CmdParam * getParam()

virtual CommandType getType() = 0

virtual const char * getName() const = 0

ulong getId() const

void setIndex(const CommandIndex * idx)

const CommandIndex * index() const

virtual const char * getHint()

virtual bool checkContext()

virtual void updateFrame()

virtual void getActionSetting(string * setting)

virtual void updateParam()

virtual bool isParamModified()

virtual ~ICommand()