NCBI C++ ToolKit
discrepancy_dlg.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: discrepancy_dlg.hpp 47439 2023-04-04 18:51:28Z asztalos $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Sema
27  */
28 
29 #ifndef _DISCREPANCY_DLG_H_
30 #define _DISCREPANCY_DLG_H_
31 
32 #include <corelib/ncbistd.hpp>
42 #include <gui/utils/app_job.hpp>
46 
47 // This header must (at least indirectly) precede any wxWidgets headers.
49 #include <wx/string.h>
50 
51 #include <wx/frame.h>
52 #include <wx/panel.h>
53 #include <wx/msgdlg.h>
54 #include <wx/button.h>
55 #include <wx/textctrl.h>
56 #include <wx/stattext.h>
57 #include <wx/listbox.h>
58 #include <wx/treelist.h>
59 #include <wx/dataview.h>
60 
61 class wxCheckBox;
62 
65 
66 wxDEFINE_EVENT(WIDTH_EVENT, wxCommandEvent);
67 
68 ////@begin control identifiers
69 #define ID_CDISCR_DLG 10357
70 #define ID_CDISCR_CONF 10358
71 #define ID_CDISCR_LIST 10359
72 #define ID_DISCR_LEFT 10501
73 #define ID_DISCR_RIGHT 10502
74 #define ID_DISCR_PREV 10503
75 #define ID_DISCR_NEXT 10504
76 #define ID_DISCR_FIND_TEXT 10505
77 #define ID_DISCR_REFRESH 10506
78 #define ID_DISCR_CHECKALL 10507
79 #define ID_DISCR_UNCHECKALL 10508
80 #define ID_DISCR_AUTOFIX 10509
81 #define ID_DISCR_REPORT 10510
82 #define ID_DISCR_TESTNAME 10511
83 #define ID_DISCR_SETTINGS 10512
84 #define ID_DISCR_CLOSE 10513
85 #define ID_DISCR_OK 10514
86 #define ID_DISCR_TEXT 10515
87 #define ID_DISCR_LIST 10516
88 #define ID_DISCR_DETAILS 10517
89 #define ID_DISCR_CHECK 10518
90 #define ID_DISCR_UNCHECK 10519
91 #define ID_DISCR_TOGGLE 10520
92 #define ID_DISCR_ALL 10521
93 #define ID_DISCR_NONE 10522
94 #define ID_DISCR_DEFAULT 10523
95 #define ID_DISCR_EXPAND 10524
96 #define ID_DISCR_CONTRACT 10525
97 #define ID_DISCR_SEQUESTER 10526
98 #define ID_DISCR_CHECKFIXABLE 10527
99 #define ID_DISCR_SPR 10528
100 #define ID_DISCR_SPR_NAME 10529
101 #define ID_DISCR_REOPEN 10530
102 #define ID_CDISCR_PANEL 10531
103 #define ID_DISCR_SEGREGATE 10532
104 #define SYMBOL_DISCR_PANEL_STYLE wxTAB_TRAVERSAL
105 #define SYMBOL_DISCR_STYLE wxMINIMIZE_BOX|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL|wxCLIP_CHILDREN
106 #define SYMBOL_DISCR_TITLE _("Discrepancy Test List")
107 ////@end control identifiers
108 
109 class CDiscrepancyDlg;
110 class CCustomTree;
111 class CCustomTreeItem;
112 class CDiscrepancyView;
113 class CDiscrepancyConf;
114 class CDiscrepancyPanel;
115 class CGuiRegistry;
116 class ICommandProccessor;
117 
119 {
120  virtual void UpdateButtons() {}
121 };
122 
123 
124 class CDiscrepancyDlg : public wxFrame, public CEventHandler, public CDiscrepancyPanelHost
125 {
126  DECLARE_DYNAMIC_CLASS(wxFrame)
127  DECLARE_EVENT_TABLE()
129 
130 public:
131  enum EReportType {
137  };
138 
140  eChecked = 1 << 0,
141  eUnchecked = 1 << 1,
142  eSequester = 1 << 2
143  };
144 
146  CDiscrepancyDlg(EReportType type, wxWindow* parent, IWorkbench* workbench,
147  wxWindowID id = ID_CDISCR_DLG,
148  const wxPoint& pos = wxDefaultPosition,
149  const wxSize& size = wxDefaultSize,
150  long style = SYMBOL_DISCR_STYLE);
152 
154  const wxString& workDir = wxEmptyString);
155 
156  string RegisterRoot(bool separate = true);
157  wxString GetSettingsPath();
158  void WriteSettings(CGuiRegistry& gui_reg);
159  EReportType GetType() const { return m_Type; };
160 
161  void RunTests();
162  //void OnJobNotification(CEvent* evt);
163  void OnDataChanged(CEvent* evt);
164 
165  void SetWorkDir(const wxString& workDir) { m_WorkDir = workDir; }
166  bool NeedToReopen() const { return m_AutoReopen; }
167  void UpdateButtons();
168 
169 protected:
170  bool Create(wxWindow* parent,
171  wxWindowID id = ID_CDISCR_DLG,
172  const wxPoint& pos = wxDefaultPosition,
173  const wxSize& size = wxDefaultSize,
174  long style = SYMBOL_DISCR_STYLE);
175 
176  void Init();
177  void CreateControls();
178 
179  void SetProductRules(const string rules);
180  const string GetProductRules();
181 
182  void OnExpand(wxCommandEvent& evt);
183  void OnContract(wxCommandEvent& evt);
184  void OnRefresh(wxCommandEvent& evt);
185  void OnCheckAll(wxCommandEvent& evt);
186  void OnUncheckAll(wxCommandEvent& evt);
187  void OnCheckFixable(wxCommandEvent& evt);
188  void OnAutofix(wxCommandEvent& evt);
189 
190  void OnSequester(wxCommandEvent& evt);
191  void OnSegregate(wxCommandEvent& evt);
192  void OnReport(wxCommandEvent& evt);
193 
194  void OnTestName(wxCommandEvent& evt);
195  void OnSettings(wxCommandEvent& evt);
196  void OnReopen(wxCommandEvent& event);
197  void OnClose(wxCommandEvent& evt);
198  bool Destroy();
199  void SaveTreeState();
200  void RestoreTreeState();
201  void LoadSettings();
202 
203  objects::CGBProjectHandle* m_Project;
206  int m_RectX;
207  int m_RectY;
208  int m_RectW;
209  int m_RectH;
212 
213  wxButton* m_ExpandBtn;
214  wxButton* m_ContractBtn;
215  wxButton* m_TestNameBtn;
216  wxButton* m_RefreshBtn;
217  wxButton* m_UncheckAllBtn;
218  wxButton* m_CheckFixableBtn;
219  wxButton* m_AutofixBtn;
220  wxButton* m_ReportBtn;
221  wxButton* m_SettingsBtn;
222  wxButton* m_SequesterBtn;
223  wxButton* m_SegregateBtn;
224  wxButton* m_TrimBtn;
225  wxButton* m_PrevBtn;
226  wxButton* m_NextBtn;
227  wxCheckBox* m_Reopen;
228  wxTextCtrl* m_FindText;
229  wxStaticText* m_ProductRulesLabel;
231  wxString m_WorkDir;
232  friend class CDiscrepancyConf;
233  friend class CDiscrepancyPanel;
234 };
235 
236 class CDiscRepItem;
238 class IProjectView;
239 
240 class CDiscrepancyPanel : public wxPanel
241 {
242  DECLARE_DYNAMIC_CLASS(wxPanel)
243  DECLARE_EVENT_TABLE()
244 
245 public:
248  wxWindow* parent,
249  CDiscrepancyPanelHost* host,
250  IWorkbench* workbench,
251  wxWindowID id = ID_CDISCR_PANEL,
252  const wxPoint& pos = wxDefaultPosition,
253  const wxSize& size = wxDefaultSize,
254  long style = SYMBOL_DISCR_PANEL_STYLE);
255 
257 
258  string RegisterRoot(bool separate = true);
259  wxString GetSettingsPath();
260  void WriteSettings(CGuiRegistry& gui_reg);
262 
263  void RunTests();
264 
265 
266  bool NeedRefresh() const { return m_NeedRefresh; }
267  unsigned char GetStatus();
268  bool IsInvalidJob();
269  void RefreshData();
270  void SetWorkDir(const wxString &dir) { m_WorkDir = dir; }
271  void SetProject(objects::CGBProjectHandle* project) { m_Project = project; }
273 
275  {
276  public:
278  : m_Panel(panel), m_JobId(CAppJobDispatcher::eInvalidJobID) { }
283  }
284  }
286  void OnJobNotification(CEvent* evt);
287  bool IsInvalidJob();
288  private:
292  };
293 
294 protected:
295  bool Create(wxWindow* parent,
296  wxWindowID id = ID_CDISCR_PANEL,
297  const wxPoint& pos = wxDefaultPosition,
298  const wxSize& size = wxDefaultSize,
299  long style = SYMBOL_DISCR_PANEL_STYLE);
300 
301  void Init();
302 
303  void CreateControls();
304 
305  void UpdateTestList();
306 
307  void OnClick(wxCommandEvent& evt);
308  void OnDblClk(wxCommandEvent& evt);
309  void OnListClk(wxCommandEvent& evt);
310  void OnListDblClk(wxCommandEvent& evt);
311  void ExpandAll();
312  void OnContract(wxCommandEvent& evt);
313  void OnRefresh(wxCommandEvent& evt);
314  void OnCheckAll(wxCommandEvent& evt);
315  void OnUncheckAll(wxCommandEvent& evt);
316  void OnCheckFixable(wxCommandEvent& evt);
318  void OnAutofix(wxCommandEvent& evt);
319 
320  void Sequester(CCustomTreeItem& item, set<CBioseq_Handle>& out, CScope& scope, bool all);
321  void OnSequester(wxCommandEvent& evt);
322  void OnSegregate(wxCommandEvent& evt);
323 
324  void Report(CCustomTreeItem& item, string& out, bool all);
325  void OnReport(wxCommandEvent& evt);
326  void OnTestName();
327  void OnFindText(wxCommandEvent& evt);
328  void OnFindNext(wxCommandEvent& evt);
329  void OnFindPrev(wxCommandEvent& evt);
331 
332  void OpenEditor(const CSerialObject* ref, CScope& scope);
333 
334  const CSerialObject* GetTopObject(const CSerialObject* obj);
335  bool InvalidObject(const CSerialObject* obj, CScope& scope);
337 
338  void SaveTreeState();
339  void RestoreTreeState();
341 
343 
347 
348  vector<NDiscrepancy::eTestNames> m_TestList;
349  vector<NDiscrepancy::eTestNames> m_DefaultTests;
350  vector<NDiscrepancy::eTestNames> m_AddTests;
351  vector<NDiscrepancy::eTestNames> m_RemoveTests;
352 
354 
358 
360  wxListBox* m_Right;
361 
362  wxButton* m_PrevBtn;
363  wxButton* m_NextBtn;
364  wxTextCtrl* m_FindText;
365  wxStaticText* m_Loading;
366 
367  NDiscrepancy::CDiscrepancyGroup m_TGrp;
368 
371 
372  objects::CGBProjectHandle* m_Project;
374  wxString m_WorkDir;
375  friend class CDiscrepancyDlg;
377 };
378 
379 
380 inline void CDiscrepancyDlg::SetProductRules(const string rules) { m_Panel->m_ProductRules = rules; }
381 inline const string CDiscrepancyDlg::GetProductRules() { return m_Panel->m_ProductRules; }
382 
383 
385 {
386 public:
388  : m_Type(type), m_Proj(proj), m_Workbench(wb) {}
389 
390 protected:
391  virtual IAppTask::ETaskState x_Run();
392 
396 };
397 
398 
399 class CDiscrepancyConf : public wxDialog
400 {
401  DECLARE_DYNAMIC_CLASS(CDiscrepancyConf)
402  DECLARE_EVENT_TABLE()
403 
404 public:
405  /// Constructors
408  vector<NDiscrepancy::eTestNames>* testlist,
409  vector<NDiscrepancy::eTestNames>* default_tests,
410  vector<NDiscrepancy::eTestNames>* add_tests,
411  vector<NDiscrepancy::eTestNames>* remove_tests,
412  CDiscrepancyDlg* parent,
413  wxWindowID id = ID_CDISCR_CONF,
414  const wxString& caption = SYMBOL_DISCR_TITLE,
415  const wxPoint& pos = wxDefaultPosition,
416  const wxSize& size = wxDefaultSize,
417  long style = SYMBOL_DISCR_STYLE);
418 
419  bool Create(wxWindow* parent,
420  wxWindowID id = ID_CDISCR_CONF,
421  const wxString& caption = SYMBOL_DISCR_TITLE,
422  const wxPoint& pos = wxDefaultPosition,
423  const wxSize& size = wxDefaultSize,
424  long style = SYMBOL_DISCR_STYLE);
425 
426  void Init();
427  void CreateControls();
428 
429  void OnTreeListCheck(wxTreeListEvent& event);
430  void OnDetails(wxCommandEvent& event);
431  void OnSelectAll(wxCommandEvent& event);
432  void OnSelectNone(wxCommandEvent& event);
433  void OnSelectDefault(wxCommandEvent& event);
434  void OnCheck(wxCommandEvent& event);
435  void OnUncheck(wxCommandEvent& event);
436  void OnToggle(wxCommandEvent& event);
437  void OnProductRules(wxCommandEvent& event);
438  void OnOk(wxCommandEvent& event);
439  void OnClose(wxCommandEvent& event);
440  void OnFindText(wxCommandEvent& event);
441  void OnFindNext(wxCommandEvent& event);
442  void OnFindPrev(wxCommandEvent& event);
443  void UpdateList();
444  void UpdateButtons();
445 
446 protected:
448  bool m_Details;
451 
452  wxTreeListCtrl* m_List;
453  wxButton* m_SelAll;
454  wxButton* m_SelNon;
455  wxButton* m_SelDef;
456  wxButton* m_Check;
457  wxButton* m_Unheck;
458  wxButton* m_Toggle;
459  wxButton* m_Show;
460  wxButton* m_PrevBtn;
461  wxButton* m_NextBtn;
462  wxTextCtrl* m_FindText;
463  wxStaticText* m_ProductRulesLabel;
464 
465  vector<NDiscrepancy::eTestNames>* m_Tests;
466  vector<NDiscrepancy::eTestNames>* m_DefaultTests;
467  vector<NDiscrepancy::eTestNames>* m_AddTests;
468  vector<NDiscrepancy::eTestNames>* m_RemoveTests;
469 
472 
474 };
475 
476 
477 class CDiscrepancyList : public wxFrame
478 {
479  DECLARE_DYNAMIC_CLASS(CDiscrepancyList)
480  DECLARE_EVENT_TABLE()
481 public:
482  /// Constructors
484  CDiscrepancyList(wxWindow* parent, wxWindowID id = ID_CDISCR_LIST, const wxString& caption = SYMBOL_DISCR_TITLE, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = SYMBOL_DISCR_STYLE);
485  bool Create(wxWindow* parent, wxWindowID id = ID_CDISCR_LIST, const wxString& caption = SYMBOL_DISCR_TITLE, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = SYMBOL_DISCR_STYLE);
486  void CreateControls();
487  void OnClose(wxCommandEvent& event);
488  void OnDetails(wxCommandEvent& event);
489  void UpdateList();
490 
491 protected:
492  bool m_Details;
493  wxButton* m_Show;
494  wxTextCtrl* m_Text;
495 };
496 
497 
498 /////////////////////////////////////////////////////////////////////////////////////////////
500 {
501 public:
502  CDiscrepancyReportJob(const CGBProjectHandle* proj, NDiscrepancy::CDiscrepancySet* tests)
503  : m_Proj(proj), m_Tests(tests) {}
505 
506  /// @name IAppJob implementation
507  /// @{
508  virtual EJobState Run();
510  virtual CRef<CObject> GetResult() { return CRef<CObject>(&*m_Tests); }
512  virtual string GetDescr(void) const { return "Discrepancy Test"; }
513  /// @}
514 
515 protected:
518 };
519 
520 
522 
523 #endif
524  // _DISCREPANCY_DLG_H_
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CAppJobDispatcher.
CAppTask - default implementation of IAppTask, use it as a base class for custom tasks.
CBioseq_Handle –.
map< string, bool > m_MapDefaultTests
void OnSelectDefault(wxCommandEvent &event)
void OnSelectAll(wxCommandEvent &event)
wxStaticText * m_ProductRulesLabel
CDiscrepancyDlg::EReportType m_Type
CDiscrepancyConf(CDiscrepancyDlg::EReportType type, vector< NDiscrepancy::eTestNames > *testlist, vector< NDiscrepancy::eTestNames > *default_tests, vector< NDiscrepancy::eTestNames > *add_tests, vector< NDiscrepancy::eTestNames > *remove_tests, CDiscrepancyDlg *parent, wxWindowID id=10358, const wxString &caption=_("Discrepancy Test List"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxMINIMIZE_BOX|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL|wxCLIP_CHILDREN)
bool Create(wxWindow *parent, wxWindowID id=10358, const wxString &caption=_("Discrepancy Test List"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxMINIMIZE_BOX|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL|wxCLIP_CHILDREN)
void OnCheck(wxCommandEvent &event)
wxTextCtrl * m_FindText
void OnFindPrev(wxCommandEvent &event)
vector< NDiscrepancy::eTestNames > * m_Tests
CDiscrepancyConf()
Constructors.
vector< NDiscrepancy::eTestNames > * m_DefaultTests
void OnFindNext(wxCommandEvent &event)
vector< NDiscrepancy::eTestNames > * m_RemoveTests
void OnToggle(wxCommandEvent &event)
wxTreeListCtrl * m_List
vector< NDiscrepancy::eTestNames > * m_AddTests
map< NDiscrepancy::eTestNames, bool > m_MapTests
void OnClose(wxCommandEvent &event)
void OnSelectNone(wxCommandEvent &event)
void OnProductRules(wxCommandEvent &event)
CDiscrepancyDlg * m_DiscrepancyDlg
void OnOk(wxCommandEvent &event)
void OnUncheck(wxCommandEvent &event)
void OnTreeListCheck(wxTreeListEvent &event)
void OnFindText(wxCommandEvent &event)
void OnDetails(wxCommandEvent &event)
void OnCheckAll(wxCommandEvent &evt)
string RegisterRoot(bool separate=true)
wxStaticText * m_ProductRulesLabel
CDiscrepancyPanel * m_Panel
void OnReopen(wxCommandEvent &event)
wxButton * m_UncheckAllBtn
void SetWorkDir(const wxString &workDir)
void OnTestName(wxCommandEvent &evt)
static CDiscrepancyDlg * OpenDiscrepancyDlg(EReportType type, CScope &scope, IWorkbench *workbench, const wxString &workDir=wxEmptyString)
void OnUncheckAll(wxCommandEvent &evt)
bool NeedToReopen() const
wxButton * m_SegregateBtn
wxButton * m_SettingsBtn
wxButton * m_SequesterBtn
wxTextCtrl * m_FindText
const string GetProductRules()
void OnExpand(wxCommandEvent &evt)
wxCheckBox * m_Reopen
ICommandProccessor * m_CmdProccessor
wxButton * m_TestNameBtn
void OnContract(wxCommandEvent &evt)
void OnAutofix(wxCommandEvent &evt)
wxButton * m_ReportBtn
void SetProductRules(const string rules)
void OnCheckFixable(wxCommandEvent &evt)
void OnReport(wxCommandEvent &evt)
void WriteSettings(CGuiRegistry &gui_reg)
objects::CGBProjectHandle * m_Project
bool Create(wxWindow *parent, wxWindowID id=10357, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxMINIMIZE_BOX|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL|wxCLIP_CHILDREN)
void OnClose(wxCommandEvent &evt)
wxButton * m_RefreshBtn
wxButton * m_ContractBtn
wxButton * m_ExpandBtn
void OnSegregate(wxCommandEvent &evt)
void OnSequester(wxCommandEvent &evt)
void OnSettings(wxCommandEvent &evt)
wxButton * m_AutofixBtn
wxButton * m_CheckFixableBtn
IWorkbench * m_Workbench
void OnRefresh(wxCommandEvent &evt)
EReportType GetType() const
wxString GetSettingsPath()
void OnDataChanged(CEvent *evt)
void OnDetails(wxCommandEvent &event)
CDiscrepancyList()
Constructors.
bool Create(wxWindow *parent, wxWindowID id=10359, const wxString &caption=_("Discrepancy Test List"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxMINIMIZE_BOX|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL|wxCLIP_CHILDREN)
void OnClose(wxCommandEvent &event)
void RunTests(CRef< CDiscrepancyReportJob > job)
CDiscrepancyHelper(CDiscrepancyPanel *panel)
void CollectAutofix(CCustomTreeItem &item, NDiscrepancy::TReportObjectList &tofix)
void OnSegregate(wxCommandEvent &evt)
unsigned char GetStatus()
map< string, unsigned char > m_TreeState
vector< NDiscrepancy::eTestNames > m_TestList
CRef< CSelectionClient > m_SelectionClient
const CSerialObject * GetTopObject(const CSerialObject *obj)
CBioseq_Handle GetAccessionForObject(const CSerialObject *obj)
vector< NDiscrepancy::eTestNames > m_DefaultTests
wxString GetSettingsPath()
wxStaticText * m_Loading
void OnDblClk(wxCommandEvent &evt)
void recursiveCdsTrnaOverlap(CDiscRepItem *item, vector< CRef< NDiscrepancy::CReportItem >> &reps, CScope &scope)
CDiscrepancyDlg::EReportType GetType() const
void OnRefresh(wxCommandEvent &evt)
CCustomTree * m_Left
void OnCheckAll(wxCommandEvent &evt)
ICommandProccessor * m_CmdProccessor
void OnClick(wxCommandEvent &evt)
void OnAutofix(wxCommandEvent &evt)
void OnListClk(wxCommandEvent &evt)
void WriteSettings(CGuiRegistry &gui_reg)
NDiscrepancy::CDiscrepancyGroup m_TGrp
void OnFindPrev(wxCommandEvent &evt)
IProjectView * FindGraphicalSequenceView(CConstRef< CSeq_id > id)
CDiscrepancyDlg::EReportType m_Type
string RegisterRoot(bool separate=true)
void SetProject(objects::CGBProjectHandle *project)
void OnFindNext(wxCommandEvent &evt)
objects::CGBProjectHandle * m_Project
bool Create(wxWindow *parent, wxWindowID id=10531, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
void OnUncheckAll(wxCommandEvent &evt)
bool NeedRefresh() const
CRef< NDiscrepancy::CDiscrepancySet > m_Tests
void OnListDblClk(wxCommandEvent &evt)
void SetCmdProccessor(ICommandProccessor *proc)
void OnFindText(wxCommandEvent &evt)
bool InvalidObject(const CSerialObject *obj, CScope &scope)
CRef< CDiscrepancyHelper > m_Helper
void OnReport(wxCommandEvent &evt)
void OnSequester(wxCommandEvent &evt)
void OnCheckFixable(wxCommandEvent &evt)
void Report(CCustomTreeItem &item, string &out, bool all)
vector< NDiscrepancy::eTestNames > m_RemoveTests
void Sequester(CCustomTreeItem &item, set< CBioseq_Handle > &out, CScope &scope, bool all)
void OpenEditor(const CSerialObject *ref, CScope &scope)
CDiscrepancyPanelHost * m_Host
vector< NDiscrepancy::eTestNames > m_AddTests
void OnContract(wxCommandEvent &evt)
wxTextCtrl * m_FindText
IWorkbench * m_Workbench
void SetWorkDir(const wxString &dir)
virtual CConstIRef< IAppJobError > GetError()
Returns IAppJobError object describing internal error that caused the Job to fail.
virtual CRef< CObject > GetResult()
Returns the Job Result.
virtual EJobState Run()
Function that does all the useful work, called by the Engine.
const CGBProjectHandle * m_Proj
CRef< NDiscrepancy::CDiscrepancySet > m_Tests
CDiscrepancyReportJob(const CGBProjectHandle *proj, NDiscrepancy::CDiscrepancySet *tests)
virtual CConstIRef< IAppJobProgress > GetProgress()
return progress object, the function shall be synchronized internally.
virtual string GetDescr(void) const
Returns a human readable description of the Job (optional)
CEventHandler.
CEvent - generic event implementation TODO TODO - Attachments.
Definition: event.hpp:86
Base class to build jobs with cancel functionality.
CObjectEx –.
Definition: ncbiobj.hpp:2531
CDiscrepancyDlg::EReportType m_Type
CGBProjectHandle & m_Proj
COpenDiscrepancyTask(CDiscrepancyDlg::EReportType type, CGBProjectHandle &proj, CWorkbench &wb)
virtual IAppTask::ETaskState x_Run()
override this function in derived classes
CRef –.
Definition: ncbiobj.hpp:618
CScope –.
Definition: scope.hpp:92
Base class for all serializable objects.
Definition: serialbase.hpp:150
CWorkbench - default implementation of IWorkbench.
Undo/Redo interface for editing operations.
class IProjectView defines the abstract interface for views observing projects.
IWorkbench is the central interface in the application framework.
Definition: workbench.hpp:113
Include a standard set of the NCBI C++ Toolkit most basic headers.
vector< CRef< CReportObj > > TReportObjectList
USING_SCOPE(objects)
wxDEFINE_EVENT(WIDTH_EVENT, wxCommandEvent)
#define ID_CDISCR_PANEL
#define ID_CDISCR_DLG
#define ID_CDISCR_CONF
#define ID_CDISCR_LIST
#define SYMBOL_DISCR_TITLE
#define SYMBOL_DISCR_PANEL_STYLE
#define SYMBOL_DISCR_STYLE
std::ofstream out("events_result.xml")
main entry point for tests
Workaround for wxWidgets header errors in certain configurations; MUST be included (at least indirect...
static const char * proc
Definition: stats.c:21
static DbTestEntry * tests
Definition: testodbc.c:388
ETaskState
List of task states defining the task management FSM.
Definition: app_task.hpp:87
static CAppJobDispatcher & GetInstance()
bool DeleteJob(TJobID job_id)
when a Job is deleted the listener is not notified
EJobState
Job states (describe FSM)
Definition: app_job.hpp:86
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
const struct ncbi::grid::netcache::search::fields::SIZE size
virtual void UpdateButtons()
Definition: type.c:6
Modified on Mon Apr 29 05:15:21 2024 by modify_doxy.py rev. 669887