50 #include <wx/artprov.h>
51 #include <wx/textbuf.h>
77 if( col_delta < 0 || col_delta >= num_labels ){
78 return col < num_labels;
81 return( col-col_delta < 0 || col-col_delta >= num_columns );
95 if( col_delta < 0 || col_delta >= num_labels ){
97 return col < num_labels ? col : col - num_labels;
100 if( col-col_delta < 0 ){
104 }
else if( col-col_delta >= num_columns ){
106 return col - num_columns;
110 return col-col_delta;
173 return wxT(
"string");
177 return wxT(
"double");
184 return wxT(
"string");
253 static wxString sError(
wxT(
"Error") );
337 CreateObjectInterface<IGuiObjectInfo>(scoped_object,
NULL)
342 label = gui_info->GetType();
346 label = gui_info->GetSubtype();
352 LOG_POST(
Error <<
"Error in CObjectListTableModel::GetExtraValueAt: " << err);
358 }
catch (
const exception&) {
407 wxWindow* parent, wxWindowID
id,
408 const wxPoint& pos,
const wxSize&
size,
long style
427 if( aModel ==
NULL ){
448 bool first_row =
true;
453 *obj->object, &
label,
455 const_cast<CScope*
>( obj->scope.GetPointer() )
461 clip_str += wxTextBuffer::GetEOL();
466 if( !clip_str.IsEmpty() ){
476 for(
int i = 0;
i < (
int)objIxs.size(); ++
i ){
488 long style = GetWindowStyle();
490 style |= wxLC_SINGLE_SEL;
493 style &= ~wxLC_SINGLE_SEL;
495 SetWindowStyle(style);
515 if( sel_objects.empty() ){
519 aMenu.Append( wxID_SEPARATOR,
wxT(
"Top Actions") );
521 vector<wxEvtHandler*> handlers;
virtual int GetNumRows() const
Returns the number of rows in the model.
virtual CIRef< IwxStringFormat > GetExtraColumnFormat(int col) const
virtual wxString GetColumnName(int col) const
Returns a default name for the column using spreadsheet conventions: A, B, C, ...
CRef< CObjectList > m_ObjectList
vector< vector< CachedCell > > m_Cache
void x_SetCachedLabel(int row, int col, const string &value) const
virtual wxString GetExtraColumnName(int col) const
virtual int GetNumExtraColumns() const
void x_AssertRowValid(int row) const
CObjectListTableModel.
void SetObjects(TConstScopedObjects &objects)
objects::CScope * GetScope(int row)
CObject * GetObject(int row)
virtual wxString GetColumnType(int col) const
Tries to extract actual type from row 0 value if it exists.
virtual ~CObjectListTableModel()
virtual wxVariant GetValueAt(int row, int col) const
virtual wxVariant GetExtraValueAt(int row, int col) const
int x_AdjustColToData(int col) const
virtual CIRef< IwxStringFormat > GetColumnFormat(int col) const
void SetObjectList(CObjectList &list)
virtual wxString GetExtraColumnType(int col) const
virtual wxString GetImageAlias(int row) const
virtual int GetNumColumns() const
Returns the number of columns in the model.
bool x_GetCachedLabel(int row, int col, string &value) const
virtual wxString GetImageAliasAt(int row, int col) const
bool x_ColIsLabel(int col) const
CObjectList Data structure representing a list of CObjects with associated Scopes and other optional ...
double GetDouble(int col, int row) const
const string & GetColumnName(int col) const
int GetColStartIx() const
EColumnType GetColumnType(int col) const
void Init(TConstScopedObjects &objects)
initializers
CLabel::ELabelType GetObjectLabelType(int col) const
CObject * GetObject(int row)
access to values (row, column)
const string & GetString(int col, int row) const
objects::CScope * GetScope(int row)
string GetObjectLabelName(int col) const
int GetNumObjectLabels() const
access to a set of extra columns
int GetInteger(int col, int row) const
int GetNumColumns() const
access to columns (attribute, indexes)
class CRegistryReadView provides a nested hierarchical view at a particular key.
static CSimpleClipboard & Instance()
virtual void x_FireStructureChanged()
virtual void x_FireDataChanged()
CwxTableListCtrl - generic wxListCtrl-based Table Control.
void AssignModel(IwxTableModel *data_model)
void LoadTableSettings(const CRegistryReadView &view, bool byName=false)
wxArrayInt GetDataRowsSelected() const
virtual void AppendMenuItems(wxMenu &aMenu)
void SaveTableSettings(CRegistryWriteView &view, bool saveSorting=true) const
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
vector< SConstScopedObject > TConstScopedObjects
void Reset(void)
Reset reference object.
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
@ fWithCommas
Use commas as thousands separator.
static const char label[]
unsigned int
A callback function used to compare two keys in a database.
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
#define EXT_POINT__SCOPED_OBJECTS__CMD_CONTRIBUTOR
This Extension Point allows external components to add commands that can be applied to scoped CObject...
void AddCommandsForScopedObjects(wxMenu &aMenu, vector< wxEvtHandler * > &handlers, const string &anExtPointId, TConstScopedObjects &objects, CUICommandRegistry *aCmdReg=NULL)
Helper function for adding commands provided by contributors to the menu.
#define row(bind, expected)
wxString ToWxString(const string &s)