44 #include <wx/msgdlg.h>
109 if (!ws)
return false;
121 if(projectTextView) {
146 grid->GetSelectedObjects (sobjs);
150 objs.push_back(it->object);
162 grid->GetSelectedObjects (objs);
223 if (!tableEvt)
return;
242 if (!queryEvt)
return;
245 sb_srv->SetStatusMessage(queryEvt->
GetStatus());
254 type->SetStr(
"TextViewParams");
262 label->SetStr(
"TextViewType");
264 param->
SetData().SetStr(
"Flat File");
265 data.push_back(param);
271 label->SetStr(
"ExpandAll");
273 param->
SetData().SetBool(
true);
274 data.push_back(param);
280 label->SetStr(
"TrackSelection");
282 param->
SetData().SetBool(
true);
283 data.push_back(param);
311 if (!srv)
return NULL;
314 if (!ws)
return NULL;
354 for (
size_t row = 0;
row < num_rows;
row++)
374 wxMessageBox(
wxT(
"Unable to load the alignment"),
wxT(
"Error"), wxOK | wxICON_ERROR);
387 wxWindow* editorWindow = editor->CreateWindow(edit_dlg);
388 editorWindow->TransferDataToWindow();
391 editorWindow->GetParent()->CenterOnParent();
392 edit_dlg->Show(
true);
400 TIdsToObjectsMap handle_groups;
407 if(
object.IsNull() || scope.
IsNull() ){
411 vector<CSeq_id_Handle> idh_vec;
435 for(
int seqix = 0; seqix < num_seqs; seqix++ ){
442 idh_vec.push_back( *idh_itr );
445 if( idh_vec.size() == 1 ){
446 idh_vec.push_back( idh_vec.front() );
451 handle_groups[idh_vec].push_back( *obtr );
456 const vector<CSeq_id_Handle>& idh_vec = sidhtr->first;
462 ITERATE( vector<CSeq_id_Handle>, idhtr, idh_vec ){
470 label += (idh ? idh : *idhtr).
GetSeqId()->GetSeqIdString(
true );
473 if( !
label.empty() ){
474 objects_map[
label] = group;
479 single.push_back( *scobtr );
483 objects_map[
label].push_back( *scobtr );
CIRef< IEditObject > CreateEditorForObject(CConstRef< CObject > obj, objects::CSeq_entry_Handle seh, bool create)
void SetEditorWindow(wxWindow *editorWindow)
void SetEditor(CIRef< IEditObject > editor)
virtual void SetUndoManager(ICommandProccessor *cmdProccessor)
CEvent - generic event implementation TODO TODO - Attachments.
CUndoManager & GetUndoManager()
CProjectService - a service providing API for operations with Workspaces and Projects.
virtual void x_ReportInvalidInputData(TConstScopedObjects &objects)
use this function to report incompatible data in InitView()
virtual void OnProjectChanged()
virtual void x_UpdateContentLabel()
virtual void x_AttachToProject(CGBDocument &doc)
virtual bool x_HasProject() const
EEventSubtype GetSubtype() const
const string & GetStatus() const
CSelectionEvent CSelectionEvent is used for broadcasting selection between views.
bool AddObjectSelection(const CObject &obj)
TDim CheckNumRows(void) const
Validatiors.
const CSeq_id & GetSeq_id(TDim row) const
Get seq-id (the first one if segments have different ids).
namespace ncbi::objects::
void x_GetViewObjects(void)
CRef< objects::CUser_object > m_Params
static void CombineObjects(const TConstScopedObjects &objects, TObjectsMap &objects_map)
void x_EditObject(SConstScopedObject &obj)
CIRef< IProjectView > x_CreateDefaultTextView(CIRef< CProjectService > prjSrv, TConstScopedObjects &objects)
virtual bool InitView(TConstScopedObjects &objects, const objects::CUser_object *params)
initialize view with data, inside this function the view must call CProjectService::AttachView to con...
virtual void GetMainObject(TConstScopedObjects &objs) const
Adds the main data objects represented by the client to "objects".
CIRef< IFlatFileCtrl > x_GetFlatFileCtrl(TConstScopedObjects &objects)
virtual void GetSelection(CSelectionEvent &evt) const
get selection for broadcasting
void SetParams(const objects::CUser_object *params)
virtual void x_LoadData()=0
ICommandProccessor * x_GetCmdProcessor(TConstScopedObjects &objects)
virtual void LoadSettings()
TConstScopedObjects m_OrigObjects
void x_OnRefreshData(CEvent *evt)
virtual void SetRegistryPath(const string ®_path)
virtual void SaveSettings() const
void x_QueryStatusChange(CEvent *evt)
void SetTrackSelection(bool trackSelection)
CTextItemPanel * GetWidget() const
Undo/Redo interface for editing operations.
class IProjectView defines the abstract interface for views observing projects.
IRegSettings An interface for objects that save / restore settings using CGuiRegistry.
virtual void SaveSettings() const =0
virtual void LoadSettings()=0
virtual void SetRegistryPath(const string &path)=0
virtual wxWindow * GetWindow()=0
returns a pointer to the wxWindow representing the client
iterator_bool insert(const value_type &val)
bool IsEditable(SConstScopedObject &obj)
static const string sTextViewType("Text View")
static const struct name_t names[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
virtual void GetCompatibleToolBars(vector< string > &names)
returns the names of toolbars compatible with this class (toolbars that are relevant and useful in th...
virtual const CObject * x_GetOrigObject() const
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
objects::CSeq_entry_Handle GetTopSeqEntryFromScopedObject(SConstScopedObject &obj)
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
CRef< objects::CScope > scope
vector< CConstRef< CObject > > TConstObjects
#define ON_EVENT(type, id, handler)
#define END_EVENT_MAP()
Ends definition of Command Map.
CConstRef< CObject > object
#define BEGIN_EVENT_MAP(thisClass, baseClass)
Begins definition of Command Map for CEventHandler-derived class.
vector< SConstScopedObject > TConstScopedObjects
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
@ eGetId_Best
return the "best" gi (uses FindBestScore(), with CSeq_id::CalculateScore() as the score function
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
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.
static const char label[]
TData & SetData(void)
Assign a value to Data data member.
void SetLabel(TLabel &value)
Assign a value to Label data member.
void SetType(TType &value)
Assign a value to Type data member.
void SetData(TData &value)
Assign a value to Data data member.
vector< CRef< CUser_field > > TData
void GetViewObjects(IWorkbench *workbench, TConstScopedObjects &objects)
static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
#define row(bind, expected)