A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/pt__project__folder_8cpp_source.html below:

NCBI C++ ToolKit: src/gui/core/pt_project_folder.cpp Source File

52 #include <wx/treectrl.h> 53 #include <wx/wupdlock.h> 65

wxTreeItemData*

data

= treeCtrl.GetItemData(compacted_node);

69  auto

parent_folder =

dynamic_cast<PT::CProjectFolder

*

>

(treeCtrl.GetItemData(treeCtrl.GetItemParent(compacted_node)));

72  auto

folder_data = folder->

GetData

();

73  auto

total = folder_data->SetItems().size();

76  for

(

auto

& it : folder_data->SetItems()) {

79

objects::CProjectItem& prj_item = *it;

83

parent_folder->AppendChildItem(treeCtrl, *new_item);

85  if

(++

cnt

% 3000 == 0 && sb_srv) {

86  str

.Printf(

wxT

(

"Expanding project items (%d out of %d)"

),

cnt

, total);

92

treeCtrl.Delete(compacted_node);

101

objects::CProjectFolder& folder = *

GetData

();

106

wxTreeItemIcon_Normal);

109

wxTreeItemIcon_Expanded);

111  const

objects::CFolderInfo&

info

= folder.GetInfo();

115  bool

is_open =

info

.IsSetOpen() ?

info

.GetOpen() :

false

;

117  if

(folder.CanGetFolders()) {

119

objects::CProjectFolder& sub_folder = **it;

126  if

(folder.CanGetItems()) {

128

wxTreeItemId collapsed_node;

130

objects::CProjectItem& prj_item = **it;

137  if

(

count

>= 2500 && collapsed_node.IsOk() ==

false

) {

138  auto

prj_folder =

Ref

(

new

objects::CProjectFolder);

140

prj_folder->SetInfo().SetTitle(

""

);

142  while

(++it != folder.SetItems().end()) {

143

objects::CProjectItem& prj_item = **it;

146

prj_folder->AddChildItem(prj_item);

149

prj_folder->SetParentFolder(&folder);

153

s.Printf(

wxT

(

"Double-click to show %d additional items"

),

cnt

);

172  if

(folder.CanGetItems()) {

174  if

(!(*it)->IsEnabled())

194

objects::CProjectFolder& folder = *

GetData

();

195

folder.SetInfo().SetOpen(treeCtrl.IsExpanded(

m_TreeItemId

));

198 static bool s_EditFolder

(objects::CFolderInfo&

info

,

const string

& title,

string

reg_path,

210  if

(

info

.CanGetComment()) {

211

descr =

info

.GetComment();

214  if

(

info

.CanGetAnnot()) {

216  if

((**it).IsComment()) {

219

descr += (*it)->GetComment();

230  if

(dlg.ShowModal() == wxID_OK) {

234  info

.SetComment(

""

);

235  info

.SetAnnot().clear();

237

list<string> comment;

240  ITERATE

(list<string>, it, comment) {

242  if

(it == comment.begin())

243  info

.SetComment(*it);

246

annot->SetComment(*it);

247  info

.SetAnnot().push_back(annot);

262  if

(!project)

return

;

268

objects::CProjectFolder& parent_folder = *

GetData

();

273

new_folder->SetInfo().SetTitle(

"New Folder"

);

274

new_folder->SetInfo().SetComment(

""

);

275

new_folder->SetInfo().SetOpen(

true

);

279

parent_folder.AddChildFolder(*new_folder);

281  const

objects::CFolderInfo&

info

= new_folder->GetInfo();

293

parent_folder.SetInfo().SetOpen(

true

);

296

doc->SetDirty (

true

);

304  if

(!project)

return false

;

308  if

(!doc)

return false

;

310

objects::CProjectFolder& folder = *

GetData

();

312

objects::CProjectFolder* parent_folder = 0;

315

parent_folder = parent->

GetData

();

318  bool

readonly = (parent_folder ==

NULL

);

321

doc->SetDirty (

true

);

337  if

(event.IsEditCancelled())

343  if

(!project)

return false

;

347  if

(!doc)

return false

;

349

objects::CProjectFolder& pr_folder = *

GetData

();

352  string

oldName = pr_folder.GetInfo().GetTitle();

353  if

(oldName == new_name)

356

objects::CProjectFolder* parent_folder = 0;

359

parent_folder = parent->

GetData

();

365  if

(!validator.

IsValid

(new_name, err)) {

369

pr_folder.SetInfo().SetTitle(new_name);

372

doc->SetDirty (

true

);

387

vector<objects::CProjectItem*> projItems;

389

projItems.push_back(&*it);

391  if

(!projItems.empty())

393

doc.SetData().RemoveProjectFolder(folder.GetId());

400  if

(!project)

return false

;

403  if

(!parent)

return false

;

407  if

(!doc)

return false

;

411

doc->SetDirty (

true

);

413

treeCtrl.Delete(toDelete);

433  if

(!project)

return false

;

440

new_item->SetLabel(item.GetLabel());

441

new_item->SetDescr().assign(item.GetDescr().begin(), item.GetDescr().end());

444

new_item->SetObject(*obj);

446  if

(!item.IsEnabled())

447

new_item->SetDisabled(

true

);

455

objects::CFolderInfo&

info

= new_folder->SetInfo();

456  info

.SetTitle(folder.GetInfo().GetTitle());

457  info

.SetComment(folder.GetInfo().GetComment());

460

dstFolder.AddChildFolder(*new_folder);

462

vector<objects::CProjectItem*> items;

465

doc.AddItem(*

i

, *new_folder);

466  if

(

i

->IsEnabled())

467

items.push_back(

i

);

471  ITERATE

(objects::CProjectFolder::TFolders, it, folder.GetFolders()) {

477  CGBDocument

& dst, objects::CProjectFolder& dstFolder,

bool

cut)

479  if

(src.GetId() == dst.GetId()) {

480  if

(srcFolder.GetId() == dstFolder.GetId()) {

481  string

err =

"Cannot paste folder \""

+ srcFolder.GetInfo().GetTitle() +

"\" on itself."

;

485  if

(srcFolder.FindChildFolderById(dstFolder.GetId())) {

486  string

err =

"Cannot paste folder \""

+ srcFolder.GetInfo().GetTitle();

487

err +=

"\". Destination folder is a child of the source folder."

;

493  if

(src.GetId() == dst.GetId() && cut) {

495  if

(!

f

)

return false

;

496

dstFolder.AddChildFolder(*

f

);

508  if

(items.empty())

return false

;

511  if

(!project)

return false

;

515  if

(!doc)

return false

;

517

objects::CProjectFolder& folder = *

GetData

();

519  bool

modified =

false

;

528  if

(!srcProject)

continue

;

532  if

(!srcDoc)

continue

;

540

srcDoc->SetDirty(

true

);

541

modProjects.

insert

(srcProject);

551

objects::CProjectItem* projItem = srcItem.

GetData

();

553  if

(srcDoc == doc && move) {

554  int

itemId = projItem->GetId();

555

objects::CProjectFolder* srcFolder = srcDoc->SetData().FindProjectItemFolder(itemId);

556  if

(srcFolder && &folder != srcFolder) {

557

folder.AddChildItem(*projItem);

558

srcFolder->RemoveChildItem(itemId);

564

doc->AddItem(*new_item, folder);

565  if

(new_item->IsEnabled())

569

toDelete[srcDoc].push_back(projItem);

570

modProjects.

insert

(srcProject);

579  ITERATE

(TDocItems, it, toDelete) {

580

it->first->RemoveProjectItems(it->second);

581

it->first->SetDirty(

true

);

588

folder.SetInfo().SetOpen(

true

);

591

doc->SetDirty (

true

);

592

modProjects.

insert

(project);

596  if

(*it) (*it)->UpdateLabel(treeCtrl);

610  if

(!project)

return

;

621

objects::CProjectFolder& folder = *

GetData

();

627

vector<wxTreeItemId> toDelete;

631  if

(!item.

GetData

()->IsEnabled())

632

toDelete.push_back((*it).GetTreeItemId());

635  ITERATE

(vector<wxTreeItemId>, it, toDelete)

636

treeCtrl.Delete(*it);

638  if

(!folder.CanGetItems())

642

objects::CProjectFolder::TItems::iterator it2 = items.begin();

644  for

(

CChildIterator

it(treeCtrl, *

this

); it && it2 != items.end(); ++it) {

653  for

(; it2 != items.end(); ++it2) {

654

objects::CProjectItem& prjItem = **it2;

665  if

(!project)

return

;

667

objects::CProjectFolder& folder = *

GetData

();

675  if

(!folder.CanGetItems())

679

objects::CProjectFolder::TItems::iterator it2 = items.begin();

681  while

(it2 != items.end() && !(*it2)->IsEnabled())

686  for

(; it && it2 != items.end(); ++it) {

693  while

(it2 != items.end() && !(*it2)->IsEnabled())

699

vector<wxTreeItemId> toDelete;

703

toDelete.push_back((*it).GetTreeItemId());

706  ITERATE

(vector<wxTreeItemId>, it, toDelete)

707

treeCtrl.Delete(*it);

709  for

(; it2 != items.end();) {

710

objects::CProjectItem& prjItem = **it2;

717  while

(it2 != items.end() && !(*it2)->IsEnabled())

User-defined methods of the data storage class.

User-defined methods of the data storage class.

virtual void SetRegistryPath(const string &path)

void SetDescr(wxString value)

wxString GetFolderName() const

wxString GetDescr() const

void SetReadOnly(bool value)

void SetNameValidator(IFNameValidator *validator)

void SetFolderName(wxString value)

virtual bool IsValid(const string &name, string &err)

bool RemoveProjectItems(const vector< objects::CProjectItem * > &items)

void AttachProjectItems(const vector< objects::CProjectItem * > &items)

void AttachProjectItem(objects::CProjectItem *item)

Base class for all serializable objects.

Template class for iteration on objects of class C.

Interface for testing cancellation request in a long lasting operation.

virtual int GetType() const =0

void InsertChildItem(wxTreeCtrl &treeCtrl, CItem &ch_item, size_t pos)

void AppendChildItem(wxTreeCtrl &treeCtrl, CItem &ch_item)

wxTreeItemId GetTreeItemId() const

wxTreeItemId m_TreeItemId

CItem * GetParent(wxTreeCtrl &treeCtrl) const

static CPTIcons & GetInstance()

int GetImageIndex(EIcon icon) const

virtual void DoNewFolder(wxTreeCtrl &treeCtrl)

virtual void BeginLabelEdit(wxTreeCtrl &treeCtrl, wxTreeEvent &event)

virtual bool CanDoRemove(wxTreeCtrl &treeCtrl) const

virtual bool DoProperties(wxTreeCtrl &treeCtrl)

void Initialize(wxTreeCtrl &treeCtrl, CGBDocument &doc)

void UpdateProjectItems(wxTreeCtrl &treeCtrl, CGBDocument &doc)

virtual bool CanPaste(wxTreeCtrl &treeCtrl) const

void ExpandCompacted(wxTreeCtrl &treeCtrl, wxTreeItemId &compacted_node, CGBDocument &doc, IStatusBarService *sb_srv, ICanceled *cancel)

void UpdateDisabledItems(wxTreeCtrl &treeCtrl)

CProjectFolder(const TParent::TDataType &data)

size_t CountDisabledItems(wxTreeCtrl &treeCtrl)

virtual void OnItemExpandedCollapsed(wxTreeCtrl &treeCtrl)

virtual bool CanCopyToClipboard(wxTreeCtrl &treeCtrl) const

virtual bool CanCutToClipboard(wxTreeCtrl &treeCtrl) const

void SetCompacted(bool compacted=true)

virtual bool DoRemove(wxTreeCtrl &treeCtrl)

virtual bool EndLabelEdit(wxTreeCtrl &treeCtrl, wxTreeEvent &event)

virtual bool Paste(wxTreeCtrl &treeCtrl, PT::TItems &items, bool move)

void Initialize(wxTreeCtrl &treeCtrl, CGBDocument &doc)

void UpdateLabel(wxTreeCtrl &treeCtrl)

void UpdateHiddenItems(wxTreeCtrl &treeCtrl)

void SetData(const TData &data)

const TData & GetData() const

iterator_bool insert(const value_type &val)

static const char * str(char *buf, int n)

#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 SetStatusMessage(const string &msg)=0

void NcbiErrorBox(const string &message, const string &title="Error")

specialized Message Box function for reporting critical errors

CRef< C > Ref(C *object)

Helper functions to get CRef<> and CConstRef<> objects.

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

virtual bool IsCanceled(void) const =0

static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)

Split a string using specified delimiters.

@ fSplit_Tokenize

All delimiters are merged and trimmed, to get non-empty tokens only.

@ eCurrent

Use current time. See also CCurrentTime.

CProject * GetProject(wxTreeCtrl &treeCtrl, const CItem &item)

bool sm_HideDisabledItems

static bool s_PasteProjectFolder(CGBDocument &src, objects::CProjectFolder &srcFolder, CGBDocument &dst, objects::CProjectFolder &dstFolder, bool cut)

static size_t s_CountDisabledItems(objects::CProjectFolder &folder)

static bool s_DeleteFolder(CGBDocument &doc, objects::CProjectFolder &folder)

static void s_ProjectFolderClone(const objects::CProjectFolder &folder, CGBDocument &doc, objects::CProjectFolder &dstFolder)

static bool s_EditFolder(objects::CFolderInfo &info, const string &title, string reg_path, bool readonly, IFNameValidator &validator)

static CRef< objects::CProjectItem > s_ProjectItemClone(const objects::CProjectItem &item)

static const char * kDlgRegPath

wxString ToWxString(const string &s)

string ToStdString(const wxString &s)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4