ICommandWindow

Inherited from NULL

Inherited by XCommandWnd

Friend class NULL

Description

ICommandWindow向应用层提供了丰富的用于构造命令对话框以及和命令对话框交互的接口函数,而它的实现在UI层完成,从这套接口可以将命令的UI交互与图形界面模块解耦,构造一个新的对话框不用重新编译源码,并且还支持直接使用XML文件配置界面,对开发者而言会非常方便。ICommandWindow提供的交互接口都基于控件的字符串名标识,控件的字符串名字都直接在命令的XML配置文件中给出,这会让开发者更容易阅读理解代码。

Public interface


virtual const char * getControlStringProperty(const char * ctrl, const char * prp_name) = 0

virtual int getControlIntProperty(const char * ctrl, const char * prp_name) = 0

virtual void setControlAttribute(const char * ctrl, const char * atb_name, const char * atb_value) = 0

virtual void addComboOption(const char * ctrl,const char * o,int v) = 0

virtual void addFormItem(const char * form, const char * label, const char * name, const char * type, const char * unit = 0, int labelWidth = 0) = 0

virtual void clearChildren(const char * parent) = 0

virtual void setControlEnable(const char * ctrl, bool enable) = 0

virtual void setControlVisible(const char * ctrl, bool bVisible) = 0

virtual void setChecked(const char * ctrl,bool status) = 0

virtual void setComboInt(const char * ctrl, int value) = 0

virtual void setEditInt(const char * ctrl, int value) = 0

virtual void setEditString(const char * ctrl, const char * str, const char * browse = 0) = 0

virtual void setEditDouble(const char * ctrl, real value) = 0

virtual void setLabelString(const char * ctrl, const char * str) = 0

virtual void setLabelImage(const char * ctrl, const char * imageUrl, int width = -1, int height = -1) = 0

virtual void clearCombo(const char * ctrl) = 0

virtual real getEditDouble(const char * ctrl,real null_value = 0) = 0

virtual int getComboInt(const char * ctrl,int null_value = 0) = 0

virtual const char * getComboString(const char * ctrl) = 0

virtual bool getChecked(const char * ctrl) = 0

virtual int getEditInt(const char * ctrl) = 0

virtual const char * getEditString(const char * ctrl) = 0

virtual void setTreeColCount(const char * tblCtrl, int colCount) = 0

virtual int getTreeColCount(const char * tblCtrl) = 0

virtual void insertTreeEditString(const char * ctrl, const XTreeIndex * ti, int col, const char * str, bool bEditable = true) = 0

virtual void setTreeChecked(const char * ctrl, const XTreeIndex * ti, int col, bool status) = 0

virtual void setTreeCurrent(const char * ctrl, const XTreeIndex * ti) = 0

virtual void setTreeEditInt(const char * ctrl, const XTreeIndex * ti, int col, int value, bool bEditable = true) = 0

virtual void setTreeEditString(const char * ctrl, const XTreeIndex * ti, int col, const char * str, bool bEditable = true) = 0

virtual void setTreeEditDouble(const char * ctrl, const XTreeIndex * ti, int col, real value, bool bEditable = true) = 0

virtual real getTreeEditDouble(const char * ctrl, const XTreeIndex * ti, int col, real null_value = 0) = 0

virtual bool getTreeChecked(const char * ctrl, const XTreeIndex * ti, int col) = 0

virtual int getTreeEditInt(const char * ctrl, const XTreeIndex * ti, int col) = 0

virtual const char * getTreeEditString(const char * ctrl, const XTreeIndex * ti, int col) = 0

virtual int getTreeCurrentIndex(const char * ctrl, XTreeIndex * ti) = 0

virtual int getTreeChildCount(const char * ctrl, const XTreeIndex * ti) = 0

virtual int getTreeItemValue(const char * ctrl, XTreeIndex * ti, int col) = 0

virtual void removeTreeItem(const char * ctrl, XTreeIndex * ti) = 0

virtual void moveTreeItem(const char * ctrl, XTreeIndex * from, XTreeIndex * to) = 0

virtual void clearContent(const char * ctrl) = 0

virtual void setCurrentSub(const char * ctrl, const char * subName, const char * url, const char * subBuddy = 0) = 0

virtual void reloadSub(const char * ctrl, const char * subName, const char * url) = 0

virtual void setGroupVisible(const char * grp,bool bVisible) = 0

virtual void layoutBegin() = 0

virtual void layoutEnd() = 0

virtual const char * getOpenFile(const char * title, const char * description, const char * filter, const char * dir = 0, const char * buddy = 0) = 0

virtual const char * getSaveFile(const char * title, const char * description, const char * filter, const char * dir = 0, const char * buddy = 0) = 0

virtual const char * getDir(const char * title,const char * defaultDir = “”, const char * buddy = 0) = 0

virtual bool getColor(uint8* out_rgba,uint8 * initial = 0) = 0

virtual bool getImageSize(const char * img, int * w, int * h) = 0

virtual void setCurveData(const char * ctrl, const XDataXY * xyc) = 0

virtual void getFieldData(const char * ctrl, XDataField * fd) = 0

virtual void setFieldData(const char * ctrl, const XDataField * fd) = 0

virtual void setHeaderTitle(const char * ctrl, const char * title, int index = 0, int width = -1) = 0

virtual void setControlSize(const char * ctrl, int width, int height) = 0

virtual ControlItem getControlItem(const char * name) = 0

virtual void loadFromXml(const char * config) = 0

virtual void hide() = 0

virtual void show() = 0

virtual ICommand* getCurrentCmd() = 0

virtual void popSubDialog(const char * dlg_xml) = 0

virtual void setMarkdownContent(const char * ctrl, const char * content) = 0

virtual void saveMarkdown(const char * ctrl, const char * fname) = 0

virtual void loadMarkdown(const char * ctrl, const char * fname) = 0

virtual bool configControl(const char * name, const char * config) = 0

virtual bool exchangeEditData(const char * ctrl,float & value, float default_v = XREAL_MAX) = 0

virtual bool exchangeEditData(const char * ctrl,double & value, double default_v = XREAL_MAX) = 0

virtual bool exchangeUnitEditData(const char * ctrl, double & value, TypeID utype, double default_v = XREAL_MAX) = 0

virtual bool exchangeEditDataWithUnitCombo(const char * valueEdit, const char * unitCombo, double & value, double default_v = XREAL_MAX) = 0

virtual bool exchangeSpinData(const char * ctrl, int & value) = 0

virtual bool exchangeComboData(const char * ctrl,int & value,int default_v = 0) = 0

virtual bool exchangeCheckData(const char * ctrl,bool & value) = 0

virtual bool exchangeColorData(const char * ctrl, RGBAColor & value) = 0

virtual bool exchangeSubCheckData(const char * ctrl, const char * sub, bool & value) = 0

virtual bool exchangeRadioCheckData(const char * ctrl,int & value) = 0

virtual bool exchangeEditData(const char * ctrl,int & value, int default_v = XINT_MAX) = 0

virtual bool exchangeEditData(const char * ctrl,char * value, const char * default_v = “”) = 0

virtual bool exchangeFieldData(const char * ctrl,XDataField & value) = 0

virtual bool exchangeCurveData(const char * ctrl,XDataXY & value) = 0

virtual bool exchangeSheetData(const char * ctrl,const char * config) = 0

virtual bool exchangeLabelVar(const char * ctrl, LabelVar & varSection) = 0

virtual void setExchangeMode(DataExchangeMode bGetOrSet) = 0

virtual DataExchangeMode getExchangeMode() = 0

virtual void initComboItems(const char * wgt, const XManager * mgr,int default_id = 0, TypeID filter = DItem_Unknown) = 0

virtual void addListItem(const char * ctrl, const char * txt, int v = -1, int checkMode = Check_Disable, const char * linkWgt = 0, const char * linkWgtUrl = 0) = 0

virtual void removeListItem(const char * ctrl, int v, bool byRowIndex = false) = 0

virtual void moveUpListItem(const char * ctrl, int v) = 0

virtual void moveDownListItem(const char * ctrl, int v) = 0

virtual void initList(const char * ctrl, const char * setting) = 0

virtual const char * getListString(const char * ctrl, int idx) = 0

virtual int getListItemValue(const char * ctrl,int index) = 0

virtual int getListItemRow(const char * ctrl, int value) = 0

virtual int getListItemCount(const char * ctrl) = 0

virtual int getListCurrentRow(const char * ctrl) = 0

virtual bool getListChecked(const char * ctrl, int idx) = 0

virtual void setListCurrent(const char * ctrl, int idx) = 0

virtual void setListChecked(const char * ctrl, int idx, bool bCheck) = 0

virtual void setListString(const char * ctrl, int idx, const char * str) = 0

virtual void setTableFromString(const char * tblCtrl, const char * str) = 0

virtual void setTableFromClipboard(const char * tblCtrl) = 0

virtual void getTableToClipboard(const char * tblCtrl) = 0

virtual void setTableRowCount(const char * tblCtrl, int rowCount) = 0

virtual int getTableRowCount(const char * tblCtrl) = 0

virtual void setTableColCount(const char * tblCtrl, int colCount) = 0

virtual int getTableColCount(const char * tblCtrl) = 0

virtual void addTableComboOption(const char * ctrl, int row, int col, const char * o, int v) = 0

virtual void setTableChecked(const char * ctrl, int row, int col, bool status) = 0

virtual void setTableComboInt(const char * ctrl, int row, int col, int value) = 0

virtual void setTableEditableCombo(const char * ctrl, int row, int col) = 0

virtual void setTableComboOptions(const char * ctrl, int row, int col, vector<string> * options, const char * curText = 0) = 0

virtual void setTableEditInt(const char * ctrl, int row, int col, int value, bool bEditable = true) = 0

virtual void setTableEditString(const char * ctrl, int row, int col, const char * str, const char * browse = 0, bool bEditable = true) = 0

virtual void setTableEditDouble(const char * ctrl, int row, int col, real value, bool bEditable = true) = 0

virtual void setTableLabelString(const char * ctrl, int row, int col, const char * str) = 0

virtual real getTableEditDouble(const char * ctrl, int row, int col, real null_value = 0) = 0

virtual int getTableComboInt(const char * ctrl, int row, int col, int null_value = 0) = 0

virtual const char * getTableComboString(const char * ctrl, int row, int col) = 0

virtual bool getTableChecked(const char * ctrl, int row, int col) = 0

virtual int getTableEditInt(const char * ctrl, int row, int col) = 0

virtual const char * getTableEditString(const char * ctrl, int row, int col) = 0

virtual int getTableCurrentRow(const char * ctrl) = 0

virtual void adjustTableView(const char * ctrl) = 0

virtual void updateData(bool bSave) = 0