📄 objectselector.h
字号:
//-------------------------------------------------------------------
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Revisions.....:
//===================================================================
#ifndef __OBJECTSELECTOR_H__
#define __OBJECTSELECTOR_H__
#include <copyright.h>
#include <kernel/basic/macros.h>
#include <kernel/basic/string.h>
#include <kernel/basic/vector.h>
//-------------------------------------------------------------------
// Class prototypes.
//===================================================================
class DecisionTable;
//-------------------------------------------------------------------
// Class.........: ObjectSelector
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Helper class.
// Revisions.....:
//===================================================================
class ObjectSelector {
public:
//- Enumerated types...............................................
enum Selection {SELECTION_ALL, SELECTION_VALUE, SELECTION_FILE, SELECTION_INDEX};
//- Textual representations........................................
static String GetString(Selection selection);
protected:
//- Algorithm parameters...........................................
Selection selection_; // Which objects indices are to be selected?
String attribute_; // For selection by attribute value: Attribute index.
String value_; // For selection by attribute value: Attribute value.
String filename_; // For selection by file contents: Location of file.
int index_; // For selection by index: Object index (masked).
protected:
//- Constructors/destructor........................................
ObjectSelector(const ObjectSelector &in);
//- Object selection...............................................
bool SelectAll(Vector(int) &indices, const DecisionTable &table, bool masked) const;
bool SelectByValue(Vector(int) &indices, const DecisionTable &table, bool masked) const;
bool SelectFromFile(Vector(int) &indices, const DecisionTable &table, bool masked) const;
bool SelectByIndex(Vector(int) &indices, const DecisionTable &table, bool masked) const;
public:
//- Constructors/destructor........................................
ObjectSelector();
virtual ~ObjectSelector();
//- Object selection...............................................
bool Select(Vector(int) &indices, const DecisionTable &table, bool masked) const;
//- Parameter string methods.......................................
String GetParameters() const;
bool SetParameter(const String &keyword, const String &value);
//- Local parameter methods........................................
Selection GetSelection() const {return selection_;}
bool SetSelection(Selection selection) {selection_ = selection; return true;}
const String &GetAttributeName() const {return attribute_;}
bool SetAttributeName(const String &attribute) {attribute_ = attribute; return true;}
const String &GetValueName() const {return value_;}
bool SetValueName(const String &value) {value_ = value; return true;}
const String &GetFilename() const {return filename_;}
bool SetFilename(const String &filename) {filename_ = filename; return true;}
int GetIndex() const {return index_;}
bool SetIndex(int index) {index_ = index; return true;}
//- Operators......................................................
ObjectSelector &operator=(const ObjectSelector &in);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -