Minsky
minsky::VariableInstanceList Class Reference

#include <variableInstanceList.h>

Collaboration diagram for minsky::VariableInstanceList:
Collaboration graph

Public Member Functions

 VariableInstanceList ()
 
 VariableInstanceList (Group &model, const std::string &valueId)
 
void gotoInstance (std::size_t)
 zoom model to instance number in the list More...
 
std::vector< std::string > names () const
 return the list of names More...
 

Private Member Functions

 CLASSDESC_ACCESS (VariableInstanceList)
 

Private Attributes

Groupmodel
 
std::vector< Bookmarkbookmarks
 
std::vector< ItemPtritems
 

Detailed Description

Definition at line 35 of file variableInstanceList.h.

Constructor & Destructor Documentation

◆ VariableInstanceList() [1/2]

minsky::VariableInstanceList::VariableInstanceList ( )

Definition at line 33 of file variableInstanceList.cc.

33 : model(*minsky().model) {}
Minsky & minsky()
global minsky object
Definition: minskyTCL.cc:51

◆ VariableInstanceList() [2/2]

minsky::VariableInstanceList::VariableInstanceList ( Group model,
const std::string &  valueId 
)
Parameters
modeltop level group to obtain instances from
valueIdid of variables to obtain the instances of

Definition at line 35 of file variableInstanceList.cc.

References bookmarks, items, minsky::GroupItems::items, model, minsky::GroupItems::recursiveDo(), minsky::to_string(), minsky::valueId(), minsky::Item::x(), and minsky::Item::y().

35  :
36  model(model)
37  {
39  (&Group::items,
40  [this,&valueId](const Items&, Items::const_iterator i) {
41  if (const auto* v=(*i)->variableCast())
42  if (v->valueId()==valueId)
43  {
44  if (auto controller=v->controller.lock())
45  bookmarks.emplace_back(this->model.x()-controller->left()+50, this->model.y()-controller->top()+50, controller->zoomFactor(),
46  v->name()+"@("+to_string(int(v->x()))+","+to_string(int(v->y()))+")");
47  else
48  bookmarks.emplace_back(this->model.x()-v->left()+50, this->model.y()-v->top()+50, v->zoomFactor(),
49  v->name()+"@("+to_string(int(v->x()))+","+to_string(int(v->y()))+")");
50  items.push_back(*i);
51  }
52  return false;
53  });
54  }
virtual float x() const
Definition: item.cc:107
virtual float y() const
Definition: item.cc:114
string valueId(const string &name)
construct a valueId from fully qualified name @ name should not be canonicalised
Definition: valueId.cc:75
bool recursiveDo(M GroupItems::*map, O op) const
Perform action heirarchically on elements of map map. If op returns true, the operation terminates...
Definition: group.h:111
std::vector< ItemPtr > Items
Definition: item.h:366
std::vector< ItemPtr > items
std::vector< Bookmark > bookmarks
string to_string(CONST84 char *x)
Definition: minskyTCLObj.h:33
Here is the call graph for this function:

Member Function Documentation

◆ CLASSDESC_ACCESS()

minsky::VariableInstanceList::CLASSDESC_ACCESS ( VariableInstanceList  )
private

◆ gotoInstance()

void minsky::VariableInstanceList::gotoInstance ( std::size_t  )

zoom model to instance number in the list

Definition at line 56 of file variableInstanceList.cc.

References bookmarks, minsky::Minsky::canvas, minsky::Selection::clear(), minsky::Selection::ensureItemInserted(), minsky::Group::gotoBookmark_b(), items, minsky::minsky(), model, minsky::Minsky::resetScroll(), and minsky::Canvas::selection.

56  {
57  if (i<bookmarks.size())
58  {
59  assert(bookmarks.size()==items.size());
63  minsky().resetScroll();
64  }
65  }
Canvas canvas
Definition: minsky.h:256
void gotoBookmark_b(const Bookmark &b)
Definition: group.cc:1244
std::vector< ItemPtr > items
void ensureItemInserted(const ItemPtr &item)
check if item already present, and if not, inserts item delegates to ensureGroupInserted if passed a ...
Definition: selection.cc:60
virtual void resetScroll()
reset main window scroll bars after model has been panned
Definition: minsky.h:453
Selection selection
Definition: canvas.h:105
std::vector< Bookmark > bookmarks
Minsky & minsky()
global minsky object
Definition: minskyTCL.cc:51
Here is the call graph for this function:

◆ names()

std::vector<std::string> minsky::VariableInstanceList::names ( ) const
inline

return the list of names

Definition at line 49 of file variableInstanceList.h.

References bookmarks.

49  {
50  std::vector<std::string> r;
51  for (auto& b: bookmarks) r.push_back(b.name);
52  return r;
53  }
std::vector< Bookmark > bookmarks

Member Data Documentation

◆ bookmarks

std::vector<Bookmark> minsky::VariableInstanceList::bookmarks
private

Definition at line 38 of file variableInstanceList.h.

Referenced by gotoInstance(), names(), and VariableInstanceList().

◆ items

std::vector<ItemPtr> minsky::VariableInstanceList::items
private

Definition at line 39 of file variableInstanceList.h.

Referenced by gotoInstance(), and VariableInstanceList().

◆ model

Group& minsky::VariableInstanceList::model
private

Definition at line 37 of file variableInstanceList.h.

Referenced by gotoInstance(), and VariableInstanceList().


The documentation for this class was generated from the following files: