OpenASIP  2.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
HDBBrowserWindow Class Reference

#include <HDBBrowserWindow.hh>

Inheritance diagram for HDBBrowserWindow:
Inheritance graph
Collaboration diagram for HDBBrowserWindow:
Collaboration graph

Public Member Functions

 HDBBrowserWindow (wxWindow *parent, wxWindowID id)
 
virtual ~HDBBrowserWindow ()
 
void setHDBManager (HDB::CachedHDBManager &manager)
 
void update ()
 
bool isFUArchitectureSelected ()
 
bool isFUImplementationSelected ()
 
bool isRFArchitectureSelected ()
 
bool isRFImplementationSelected ()
 
bool isFUEntrySelected ()
 
bool isRFEntrySelected ()
 
bool isBusEntrySelected ()
 
bool isSocketEntrySelected ()
 
bool isCostFunctionPluginSelected ()
 
bool isOperationImplementationSelected ()
 
bool isOperationImplementationResourceSelected ()
 
RowID selectedFUArchitecture ()
 
RowID selectedFUImplementation ()
 
RowID selectedRFArchitecture ()
 
RowID selectedRFImplementation ()
 
RowID selectedFUEntry ()
 
RowID selectedRFEntry ()
 
RowID selectedBusEntry ()
 
RowID selectedSocketEntry ()
 
RowID selectedCostFunctionPlugin ()
 
RowID selectedOperationImplementation ()
 
RowID selectedOperationImplementationResource ()
 
void selectRFArchitecture (int id)
 
void selectFUArchitecture (int id)
 
void selectRFImplementation (int id)
 
void selectFUImplementation (int id)
 
void selectFUEntry (int id)
 
void selectRFEntry (int id)
 
void selectBusEntry (int id)
 
void selectSocketEntry (int id)
 
void selectCostFunctionPlugin (int id)
 
void openLink (const wxString &link)
 

Private Types

enum  { ID_TREE_VIEW = 20000 }
 Widget window IDs. More...
 

Private Member Functions

void onItemSelected (wxTreeEvent &event)
 
void onRMBClick (wxTreeEvent &event)
 
wxString fuArchLabel (const TTAMachine::FunctionUnit &fu) const
 

Private Attributes

HDB::CachedHDBManagermanager_
 HDB to display in the browser. More...
 
wxTreeCtrl * tree_
 Tree widget displayign the HDB hierarchy. More...
 
std::map< RowID, wxTreeItemId > rfArchitectures_
 Map of rf architecture RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > rfImplementations_
 Map of rf implementation RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > fuArchitectures_
 Map of fu architecture RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > fuImplementations_
 Map of fu implementation RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > fuEntries_
 Map of fu entry RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > rfEntries_
 Map of rf entry RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > busEntries_
 Map of bus entry RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > socketEntries_
 Map of socket entry RowIDs to tree item IDs. More...
 
std::map< RowID, wxTreeItemId > costPlugins_
 Map of cost function plugin RowIDs to tree item IDs. More...
 
HDBBrowserInfoPanelinfoPanel_
 Info panel widget for displaying the selected element information. More...
 

Detailed Description

Window for browsing an HDB.

Displays a tree-view of the HDB, and an info panel which shows details of the element selected in the tree-view.

Definition at line 59 of file HDBBrowserWindow.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

Widget window IDs.

Enumerator
ID_TREE_VIEW 

Definition at line 112 of file HDBBrowserWindow.hh.

112  {
113  ID_TREE_VIEW = 20000
114  };

Constructor & Destructor Documentation

◆ HDBBrowserWindow()

HDBBrowserWindow::HDBBrowserWindow ( wxWindow *  parent,
wxWindowID  id 
)

The Constructor.

Parameters
parentParent window of the browser panel.
idWindow identifier.

Definition at line 70 of file HDBBrowserWindow.cc.

70  :
71  wxPanel(parent, id), manager_(NULL) {
72 
73  wxSplitterWindow* splitter = new wxSplitterWindow(this, wxVERTICAL);
74 
75  wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
76  tree_ = new wxTreeCtrl(splitter, ID_TREE_VIEW);
77  infoPanel_ = new HDBBrowserInfoPanel(splitter, -1);
78  splitter->SetMinimumPaneSize(150);
79  splitter->SplitVertically(tree_, infoPanel_);
80  sizer->Add(splitter, 1, wxGROW);
81  Fit();
82  SetSizer(sizer);
83 }

◆ ~HDBBrowserWindow()

HDBBrowserWindow::~HDBBrowserWindow ( )
virtual

The destructor.

Definition at line 89 of file HDBBrowserWindow.cc.

89  {
90 }

Member Function Documentation

◆ fuArchLabel()

wxString HDBBrowserWindow::fuArchLabel ( const TTAMachine::FunctionUnit fu) const
private

Returns label string for an function unit architecture.

Parameters
fuFunction unit object to create the label from.
Returns
Label for the fu architecture.

Definition at line 864 of file HDBBrowserWindow.cc.

864  {
865 
866  // Operation names are put in a set which sorts them alphbetically.
867  std::set<std::string> opNames;
868  for (int i = 0; i < fu.operationCount(); i++) {
869  const HWOperation* op = fu.operation(i);
870  std::string opName =
871  op->name() + "(" + Conversion::toString(op->latency()) + ")";
872 
873  opNames.insert(opName);
874  }
875 
876  wxString archName;
877  std::set<std::string>::const_iterator oIter = opNames.begin();
878  for (; oIter != opNames.end(); oIter++) {
879  archName.Append(WxConversion::toWxString(*oIter));
880  archName.Append(_T(" "));
881  }
882 
883  return archName;
884 }

References TTAMachine::HWOperation::latency(), TTAMachine::HWOperation::name(), TTAMachine::FunctionUnit::operation(), TTAMachine::FunctionUnit::operationCount(), Conversion::toString(), and WxConversion::toWxString().

Here is the call graph for this function:

◆ isBusEntrySelected()

bool HDBBrowserWindow::isBusEntrySelected ( )

Function for checking if a Bus entry is selected in the tree view.

Returns
True, if a bus entry is selected.

Definition at line 407 of file HDBBrowserWindow.cc.

407  {
408  return MapTools::containsValue(busEntries_, tree_->GetSelection());
409 }

References MapTools::containsValue().

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorDeleteCmd::isEnabled().

Here is the call graph for this function:

◆ isCostFunctionPluginSelected()

bool HDBBrowserWindow::isCostFunctionPluginSelected ( )

Function for checking if a cost function plugin is selected in the tree view.

Returns
True, if a cost function plugin is selected.

Definition at line 428 of file HDBBrowserWindow.cc.

428  {
429  return MapTools::containsValue(costPlugins_, tree_->GetSelection());
430 }

References MapTools::containsValue().

Referenced by HDBEditorDeleteCmd::Do(), HDBEditorModifyCmd::Do(), HDBEditorModifyCmd::isEnabled(), and HDBEditorDeleteCmd::isEnabled().

Here is the call graph for this function:

◆ isFUArchitectureSelected()

bool HDBBrowserWindow::isFUArchitectureSelected ( )

Function for checking if a FU architecture is selected in the tree view.

Returns
True, if a FU architecture is selected.

Definition at line 343 of file HDBBrowserWindow.cc.

343  {
344  return MapTools::containsValue(fuArchitectures_, tree_->GetSelection());
345 }

References MapTools::containsValue().

Referenced by AddFUImplementationCmd::Do(), HDBEditorDeleteCmd::Do(), HDBEditorDeleteCmd::isEnabled(), and AddFUImplementationCmd::isEnabled().

Here is the call graph for this function:

◆ isFUEntrySelected()

bool HDBBrowserWindow::isFUEntrySelected ( )

Function for checking if a FU entry is selected in the tree view.

Returns
True, if a FU entry is selected.

Definition at line 387 of file HDBBrowserWindow.cc.

387  {
388  return MapTools::containsValue(fuEntries_, tree_->GetSelection());
389 }

References MapTools::containsValue().

Referenced by AddFUImplementationCmd::Do(), SetCostFunctionPluginCmd::Do(), HDBEditorDeleteCmd::Do(), AddFUImplementationCmd::isEnabled(), HDBEditorDeleteCmd::isEnabled(), SetCostFunctionPluginCmd::isEnabled(), and SetFUArchitectureCmd::isEnabled().

Here is the call graph for this function:

◆ isFUImplementationSelected()

bool HDBBrowserWindow::isFUImplementationSelected ( )

Function for checking if a FU implementation is selected in the tree view.

Returns
True, if a FU implementation is selected.

Definition at line 364 of file HDBBrowserWindow.cc.

364  {
366  fuImplementations_, tree_->GetSelection());
367 }

References MapTools::containsValue().

Referenced by HDBEditorDeleteCmd::Do(), HDBEditorModifyCmd::Do(), HDBEditorModifyCmd::isEnabled(), and HDBEditorDeleteCmd::isEnabled().

Here is the call graph for this function:

◆ isOperationImplementationResourceSelected()

bool HDBBrowserWindow::isOperationImplementationResourceSelected ( )

Function for checking if a operation implementation resource is selected in the tree view.

Returns
True, if selected.

Definition at line 439 of file HDBBrowserWindow.cc.

439  {
440  std::string parent = tree_->GetItemParent(tree_->GetSelection()).IsOk() ?
441  tree_->GetItemText(tree_->GetItemParent(tree_->GetSelection()))
442  .ToStdString() : "none";
443  return parent == "Operation Implementation Resources";
444 }

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorDeleteCmd::isEnabled().

◆ isOperationImplementationSelected()

bool HDBBrowserWindow::isOperationImplementationSelected ( )

Function for checking if a operation implementation is selected in the tree view.

Returns
True, if selected.

Definition at line 453 of file HDBBrowserWindow.cc.

453  {
454  std::string parent = tree_->GetItemParent(tree_->GetSelection()).IsOk() ?
455  tree_->GetItemText(tree_->GetItemParent(tree_->GetSelection()))
456  .ToStdString() : "none";
457  return parent == "Operation Implementations";
458 }

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorDeleteCmd::isEnabled().

◆ isRFArchitectureSelected()

bool HDBBrowserWindow::isRFArchitectureSelected ( )

Function for checking if a RF architecture is selected in the tree view.

Returns
True, if a RF architecture is selected.

Definition at line 353 of file HDBBrowserWindow.cc.

353  {
354  return MapTools::containsValue(rfArchitectures_, tree_->GetSelection());
355 }

References MapTools::containsValue().

Referenced by AddRFImplementationCmd::Do(), HDBEditorDeleteCmd::Do(), HDBEditorDeleteCmd::isEnabled(), and AddRFImplementationCmd::isEnabled().

Here is the call graph for this function:

◆ isRFEntrySelected()

bool HDBBrowserWindow::isRFEntrySelected ( )

Function for checking if a RF entry is selected in the tree view.

Returns
True, if a RF entry is selected.

Definition at line 397 of file HDBBrowserWindow.cc.

397  {
398  return MapTools::containsValue(rfEntries_, tree_->GetSelection());
399 }

References MapTools::containsValue().

Referenced by AddRFImplementationCmd::Do(), SetCostFunctionPluginCmd::Do(), HDBEditorDeleteCmd::Do(), HDBEditorDeleteCmd::isEnabled(), AddRFImplementationCmd::isEnabled(), and SetCostFunctionPluginCmd::isEnabled().

Here is the call graph for this function:

◆ isRFImplementationSelected()

bool HDBBrowserWindow::isRFImplementationSelected ( )

Function for checking if a RF implementation is selected in the tree view.

Returns
True, if a RF implementation is selected.

Definition at line 376 of file HDBBrowserWindow.cc.

376  {
378  rfImplementations_, tree_->GetSelection());
379 }

References MapTools::containsValue().

Referenced by HDBEditorDeleteCmd::Do(), HDBEditorModifyCmd::Do(), HDBEditorModifyCmd::isEnabled(), and HDBEditorDeleteCmd::isEnabled().

Here is the call graph for this function:

◆ isSocketEntrySelected()

bool HDBBrowserWindow::isSocketEntrySelected ( )

Function for checking if a socket entry is selected in the tree view.

Returns
True, if a socket entry is selected.

Definition at line 417 of file HDBBrowserWindow.cc.

417  {
418  return MapTools::containsValue(socketEntries_, tree_->GetSelection());
419 }

References MapTools::containsValue().

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorDeleteCmd::isEnabled().

Here is the call graph for this function:

◆ onItemSelected()

void HDBBrowserWindow::onItemSelected ( wxTreeEvent &  e)
private

Event handler for the tree-view selection changes.

Definition at line 782 of file HDBBrowserWindow.cc.

782  {
783 
784  wxTreeCtrl* ctrl = new wxTreeCtrl();
785  std::string current = ctrl->GetItemText(e.GetItem().GetID()).ToStdString();
786  std::string parent = ctrl->GetItemParent(e.GetItem().GetID()).IsOk() ?
787  ctrl->GetItemText(ctrl->GetItemParent(e.GetItem().GetID())).ToStdString() :
788  "none";
789 
790  infoPanel_->clear();
791 
792  if (isFUArchitectureSelected()) {
794  } else if (isRFArchitectureSelected()) {
796  } else if (isFUImplementationSelected()) {
798  } else if (isRFImplementationSelected()) {
800  } else if (isFUEntrySelected()) {
802  } else if (isRFEntrySelected()) {
804  } else if (isBusEntrySelected()) {
806  } else if (isSocketEntrySelected()) {
808  } else if (isCostFunctionPluginSelected()) {
810  } else if (parent == HDBToHtml::OPERATION_IMPLEMENTATIONS) {
811  std::istringstream iss(current);
812  int id;
813  iss >> id;
815  } else if (parent == HDBToHtml::OPERATION_IMPLEMENTATION_RESOURCES) {
816  std::istringstream iss(current);
817  int id;
818  iss >> id;
820  }
821 
822  delete ctrl;
823 }

References HDBToHtml::OPERATION_IMPLEMENTATION_RESOURCES, and HDBToHtml::OPERATION_IMPLEMENTATIONS.

◆ onRMBClick()

void HDBBrowserWindow::onRMBClick ( wxTreeEvent &  event)
private

Event handler for right mouse button clicks in the treeview.

Pops up a context menu.

Definition at line 832 of file HDBBrowserWindow.cc.

832  {
833  tree_->SelectItem(event.GetItem());
834  wxMenu* popupMenu = new wxMenu();
835  if (isFUArchitectureSelected()) {
836  popupMenu->Append(
838  _T("Add &Implementation..."));
839  }
840  if (isRFArchitectureSelected()) {
841  popupMenu->Append(
843  _T("Add &Implementation..."));
844  }
846  popupMenu->Append(
848  _T("Set Cost Function Plugin"));
849  }
850 
851  popupMenu->AppendSeparator();
852  popupMenu->Append(HDBEditorConstants::COMMAND_MODIFY, _T("&Modify..."));
853  popupMenu->Append(HDBEditorConstants::COMMAND_DELETE, _T("&Delete"));
854  PopupMenu(popupMenu, event.GetPoint());
855 }

References HDBEditorConstants::COMMAND_ADD_FU_IMPLEMENTATION, HDBEditorConstants::COMMAND_ADD_RF_IMPLEMENTATION, HDBEditorConstants::COMMAND_DELETE, HDBEditorConstants::COMMAND_MODIFY, and HDBEditorConstants::COMMAND_SET_COST_PLUGIN.

◆ openLink()

void HDBBrowserWindow::openLink ( const wxString &  link)

Opens a link generated by HDBToHtml in the browser window.

Parameters
linkLink to open.

Definition at line 892 of file HDBBrowserWindow.cc.

892  {
893 
894  const wxString fuArchPrefix =
896  _T("/");
897 
898  const wxString rfArchPrefix =
900  _T("/");
901 
902  const wxString fuEntryPrefix =
903  _T("/") + WxConversion::toWxString(HDBToHtml::FU_ENTRIES) + _T("/");
904 
905  const wxString rfEntryPrefix =
906  _T("/") + WxConversion::toWxString(HDBToHtml::RF_ENTRIES) + _T("/");
907 
908  const wxString busEntryPrefix =
910 
911  const wxString socketEntryPrefix =
913  _T("/");
914 
915  const wxString fuImplPrefix =
917  _T("/");
918 
919  const wxString rfImplPrefix =
921  _T("/");
922 
923  const wxString costPluginPrefix =
925 
926  wxString rest;
927  if (link.StartsWith(fuArchPrefix, &rest)) {
930  } else if (link.StartsWith(rfArchPrefix, &rest)) {
933  } else if (link.StartsWith(fuEntryPrefix, &rest)) {
935  selectFUEntry(id);
936  } else if (link.StartsWith(rfEntryPrefix, &rest)) {
938  selectRFEntry(id);
939  } else if (link.StartsWith(busEntryPrefix, &rest)) {
941  selectBusEntry(id);
942  } else if (link.StartsWith(socketEntryPrefix, &rest)) {
944  selectSocketEntry(id);
945  } else if (link.StartsWith(fuImplPrefix, &rest)) {
948  } else if (link.StartsWith(rfImplPrefix, &rest)) {
951  } else if (link.StartsWith(costPluginPrefix, &rest)) {
954  }
955 }

References HDBToHtml::BUS_ENTRIES, HDBToHtml::COST_PLUGINS, HDBToHtml::FU_ARCHITECTURES, HDBToHtml::FU_ENTRIES, HDBToHtml::FU_IMPLEMENTATIONS, HDBToHtml::RF_ARCHITECTURES, HDBToHtml::RF_ENTRIES, HDBToHtml::RF_IMPLEMENTATIONS, HDBToHtml::SOCKET_ENTRIES, Conversion::toInt(), WxConversion::toString(), and WxConversion::toWxString().

Here is the call graph for this function:

◆ selectBusEntry()

void HDBBrowserWindow::selectBusEntry ( int  id)

Selects the given Bus Entry.

Parameters
idRowID of the bus entry to select.

Definition at line 679 of file HDBBrowserWindow.cc.

679  {
680 
682  return;
683  }
684 
685  tree_->SelectItem(busEntries_[id]);
686 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ selectCostFunctionPlugin()

void HDBBrowserWindow::selectCostFunctionPlugin ( int  id)

Selects the given cost function plugin.

Parameters
idRowID of the cost function plugin.

Definition at line 769 of file HDBBrowserWindow.cc.

769  {
770 
772  return;
773  }
774 
775  tree_->SelectItem(costPlugins_[id]);
776 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ selectedBusEntry()

RowID HDBBrowserWindow::selectedBusEntry ( )

Returns rowID of the bus entry selected in the tree view.

Returns
ID of the selected bus entry, or -1 if none is selected.

Definition at line 565 of file HDBBrowserWindow.cc.

565  {
566  if (!isBusEntrySelected()) {
567  return -1;
568  }
569  RowID id = MapTools::keyForValue<RowID>(
570  busEntries_, tree_->GetSelection());
571 
572  return id;
573 }

Referenced by HDBEditorDeleteCmd::Do().

◆ selectedCostFunctionPlugin()

RowID HDBBrowserWindow::selectedCostFunctionPlugin ( )

Returns rowID of the cost function plugin selected in the treeview.

Returns
ID of the selected cost function plugin, or -1 if none is selected.

Definition at line 598 of file HDBBrowserWindow.cc.

598  {
600  return -1;
601  }
602  RowID id = MapTools::keyForValue<RowID>(
603  costPlugins_, tree_->GetSelection());
604 
605  return id;
606 }

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorModifyCmd::Do().

◆ selectedFUArchitecture()

RowID HDBBrowserWindow::selectedFUArchitecture ( )

Returns rowID of the FU architecture selected in the treeview.

Returns
ID of the selected FU architecture, or -1 if none is selected.

Definition at line 466 of file HDBBrowserWindow.cc.

466  {
467  if (!isFUArchitectureSelected()) {
468  return -1;
469  }
470 
471  RowID id = MapTools::keyForValue<RowID>(
472  fuArchitectures_, tree_->GetSelection());
473 
474  return id;
475 }

Referenced by AddFUImplementationCmd::Do(), and HDBEditorDeleteCmd::Do().

◆ selectedFUEntry()

RowID HDBBrowserWindow::selectedFUEntry ( )

Returns rowID of the FU entry selected in the tree view.

Returns
ID of the selected FU entry, or -1 if none is selected.

Definition at line 533 of file HDBBrowserWindow.cc.

533  {
534  if (!isFUEntrySelected()) {
535  return -1;
536  }
537  RowID id = MapTools::keyForValue<RowID>(
538  fuEntries_, tree_->GetSelection());
539 
540  return id;
541 }

Referenced by AddFUImplementationCmd::Do(), SetCostFunctionPluginCmd::Do(), HDBEditorDeleteCmd::Do(), AddFUImplementationCmd::isEnabled(), and SetFUArchitectureCmd::isEnabled().

◆ selectedFUImplementation()

RowID HDBBrowserWindow::selectedFUImplementation ( )

Returns rowID of the FU implementation selected in the treeview.

Returns
ID of the selected FU implementation, or -1 if none is selected.

Definition at line 500 of file HDBBrowserWindow.cc.

500  {
502  return -1;
503  }
504  RowID id = MapTools::keyForValue<RowID>(
505  fuImplementations_, tree_->GetSelection());
506 
507  return id;
508 }

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorModifyCmd::Do().

◆ selectedOperationImplementation()

RowID HDBBrowserWindow::selectedOperationImplementation ( )

Returns rowID of the operation implementation selected in the treeview.

Returns
ID of the selection, or -1 if none is selected.

Definition at line 614 of file HDBBrowserWindow.cc.

614  {
616  return -1;
617  }
618  std::istringstream iss(tree_->GetItemText(tree_->GetSelection())
619  .ToStdString());
620  RowID id;
621  iss >> id;
622  return id;
623 }

Referenced by HDBEditorDeleteCmd::Do().

◆ selectedOperationImplementationResource()

RowID HDBBrowserWindow::selectedOperationImplementationResource ( )

Returns rowID of the operation implementation resource selected in the treeview.

Returns
ID of the selection, or -1 if none is selected.

Definition at line 632 of file HDBBrowserWindow.cc.

632  {
634  return -1;
635  }
636  std::istringstream iss(tree_->GetItemText(tree_->GetSelection())
637  .ToStdString());
638  RowID id;
639  iss >> id;
640  return id;
641 }

Referenced by HDBEditorDeleteCmd::Do().

◆ selectedRFArchitecture()

RowID HDBBrowserWindow::selectedRFArchitecture ( )

Returns rowID of the RF architecture selected in the treeview.

Returns
ID of the selected RF architecture, or -1 if none is selected.

Definition at line 483 of file HDBBrowserWindow.cc.

483  {
484  if (!isRFArchitectureSelected()) {
485  return -1;
486  }
487  RowID id = MapTools::keyForValue<RowID>(
488  rfArchitectures_, tree_->GetSelection());
489 
490  return id;
491 }

Referenced by AddRFImplementationCmd::Do(), and HDBEditorDeleteCmd::Do().

◆ selectedRFEntry()

RowID HDBBrowserWindow::selectedRFEntry ( )

Returns rowID of the RF entry selected in the tree view.

Returns
ID of the selected RF entry, or -1 if none is selected.

Definition at line 549 of file HDBBrowserWindow.cc.

549  {
550  if (!isRFEntrySelected()) {
551  return -1;
552  }
553  RowID id = MapTools::keyForValue<RowID>(
554  rfEntries_, tree_->GetSelection());
555 
556  return id;
557 }

Referenced by AddRFImplementationCmd::Do(), SetCostFunctionPluginCmd::Do(), HDBEditorDeleteCmd::Do(), and AddRFImplementationCmd::isEnabled().

◆ selectedRFImplementation()

RowID HDBBrowserWindow::selectedRFImplementation ( )

Returns rowID of the RF implementation selected in the treeview.

Returns
ID of the selected RF implementation, or -1 if none is selected.

Definition at line 517 of file HDBBrowserWindow.cc.

517  {
519  return -1;
520  }
521  RowID id = MapTools::keyForValue<RowID>(
522  rfImplementations_, tree_->GetSelection());
523 
524  return id;
525 }

Referenced by HDBEditorDeleteCmd::Do(), and HDBEditorModifyCmd::Do().

◆ selectedSocketEntry()

RowID HDBBrowserWindow::selectedSocketEntry ( )

Returns rowID of the socket entry selected in the tree view.

Returns
ID of the selected socket entry, or -1 if none is selected.

Definition at line 581 of file HDBBrowserWindow.cc.

581  {
582  if (!isSocketEntrySelected()) {
583  return -1;
584  }
585  RowID id = MapTools::keyForValue<RowID>(
586  socketEntries_, tree_->GetSelection());
587 
588  return id;
589 }

Referenced by HDBEditorDeleteCmd::Do().

◆ selectFUArchitecture()

void HDBBrowserWindow::selectFUArchitecture ( int  id)

Selects the given FU architecture.

Parameters
idRowID of the

Definition at line 709 of file HDBBrowserWindow.cc.

709  {
710 
712  return;
713  }
714 
715  tree_->SelectItem(fuArchitectures_[id]);
716 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ selectFUEntry()

void HDBBrowserWindow::selectFUEntry ( int  id)

Selects the given FU Entry.

Parameters
idRowID of the

Definition at line 649 of file HDBBrowserWindow.cc.

649  {
650 
651  if (!MapTools::containsKey(fuEntries_, id)) {
652  return;
653  }
654 
655  tree_->SelectItem(fuEntries_[id]);
656 }

References MapTools::containsKey().

Referenced by SetCostFunctionPluginCmd::Do().

Here is the call graph for this function:

◆ selectFUImplementation()

void HDBBrowserWindow::selectFUImplementation ( int  id)

Selects the given FU implementation.

Parameters
idRowID of the FU implementation.

Definition at line 739 of file HDBBrowserWindow.cc.

739  {
740 
742  return;
743  }
744 
745  tree_->SelectItem(fuImplementations_[id]);
746 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ selectRFArchitecture()

void HDBBrowserWindow::selectRFArchitecture ( int  id)

Selects the given RF architecture.

Parameters
idRowID of the

Definition at line 724 of file HDBBrowserWindow.cc.

724  {
725 
727  return;
728  }
729 
730  tree_->SelectItem(rfArchitectures_[id]);
731 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ selectRFEntry()

void HDBBrowserWindow::selectRFEntry ( int  id)

Selects the given RF Entry.

Parameters
idRowID of the RF entry to select.

Definition at line 664 of file HDBBrowserWindow.cc.

664  {
665 
666  if (!MapTools::containsKey(rfEntries_, id)) {
667  return;
668  }
669 
670  tree_->SelectItem(rfEntries_[id]);
671 }

References MapTools::containsKey().

Referenced by SetCostFunctionPluginCmd::Do().

Here is the call graph for this function:

◆ selectRFImplementation()

void HDBBrowserWindow::selectRFImplementation ( int  id)

Selects the given RF implementation.

Parameters
idRowID of the RF implementation.

Definition at line 754 of file HDBBrowserWindow.cc.

754  {
755 
757  return;
758  }
759 
760  tree_->SelectItem(rfImplementations_[id]);
761 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ selectSocketEntry()

void HDBBrowserWindow::selectSocketEntry ( int  id)

Selects the given Socket Entry.

Parameters
idRowID of the socket entry to select.

Definition at line 694 of file HDBBrowserWindow.cc.

694  {
695 
697  return;
698  }
699 
700  tree_->SelectItem(socketEntries_[id]);
701 }

References MapTools::containsKey().

Here is the call graph for this function:

◆ setHDBManager()

void HDBBrowserWindow::setHDBManager ( HDB::CachedHDBManager manager)

Sets the HDB which is displayed in the browser.

Parameters
managerHDBManager managing the HDB to display.

Definition at line 99 of file HDBBrowserWindow.cc.

99  {
100  manager_ = &manager;
101  infoPanel_->setHDB(manager);
102  update();
103 }

Referenced by HDBEditorMainFrame::createHDB(), and HDBEditorMainFrame::setHDB().

◆ update()

void HDBBrowserWindow::update ( )

Updates the treeview of the HDB.

Definition at line 109 of file HDBBrowserWindow.cc.

109  {
110 
111  fuArchitectures_.clear();
112  rfArchitectures_.clear();
113  fuImplementations_.clear();
114  rfImplementations_.clear();
115  fuEntries_.clear();
116  rfEntries_.clear();
117  busEntries_.clear();
118  socketEntries_.clear();
119  costPlugins_.clear();
120 
121  tree_->DeleteAllItems();
122  wxTreeItemId root = tree_->AddRoot(_T("HDB"));
123 
124  wxTreeItemId fus = tree_->AppendItem(
126 
127  wxTreeItemId rfs = tree_->AppendItem(
129 
130  wxTreeItemId fuEntries = tree_->AppendItem(
132 
133  wxTreeItemId rfEntries = tree_->AppendItem(
135 
136  wxTreeItemId busEntries = tree_->AppendItem(
138 
139  wxTreeItemId socketEntries = tree_->AppendItem(
141 
142  wxTreeItemId costPlugins = tree_->AppendItem(
144 
145  wxTreeItemId operationImplementations = tree_->AppendItem(
147 
148  wxTreeItemId operationImplementationResources = tree_->AppendItem(
150 
151  std::set<RowID>::iterator iter;
152 
153 
154  std::set<RowID> fuArchIds = manager_->fuArchitectureIDs();
155  std::set<RowID> rfArchIds = manager_->rfArchitectureIDs();
156  std::set<RowID> fuIDs = manager_->fuEntryIDs();
157  std::set<RowID> rfIDs = manager_->rfEntryIDs();
158  std::set<RowID> busIDs = manager_->busEntryIDs();
159  std::set<RowID> socketIDs = manager_->socketEntryIDs();
160  std::set<RowID> pluginIDs = manager_->costFunctionPluginIDs();
161  std::set<RowID> operationImplementationIDs = manager_->OperationImplementationIDs();
162  std::set<RowID> operationImplementationResourceIDs = manager_->OperationImplementationResourceIDs();
163 
164  int entries = fuArchIds.size() + rfArchIds.size() + fuIDs.size() +
165  rfIDs.size() + busIDs.size() + socketIDs.size() + pluginIDs.size();
166 
167  int c = 0;
168 
169  wxProgressDialog dialog(
170  _T("Loading HDB"), _T("Loading HDB"), entries, this,
171  wxPD_APP_MODAL|wxPD_AUTO_HIDE);
172 
173  dialog.SetSize(300,100);
174 
175  int ids = fuArchIds.size();
176  int cur = 0;
177  wxString message;
178 
179  // FU architectures
180  for (iter = fuArchIds.begin(); iter != fuArchIds.end(); iter++) {
181 
182  const FUArchitecture& arch = manager_->fuArchitectureByIDConst(*iter);
183  const FunctionUnit& fu = arch.architecture();
184 
185  wxTreeItemId id = tree_->AppendItem(fus, fuArchLabel(fu));
186  fuArchitectures_[*iter] = id;
187  c++;
188  cur++;
189  message.Printf(wxT("Loading FU Architectures... (%04d / %04d)"),cur,ids);
190  dialog.Update(c, message);
191  dialog.SetSize(300,100);
192  }
193  tree_->SortChildren(fus);
194 
195  cur = 0;
196  ids = rfArchIds.size();
197  // RF architectures
198  for (iter = rfArchIds.begin(); iter != rfArchIds.end(); iter++) {
199  wxString archLabel = WxConversion::toWxString(*iter);
200  wxTreeItemId id = tree_->AppendItem(rfs, archLabel);
201  rfArchitectures_[*iter] = id;
202  c++;
203  cur++;
204  message.Printf(wxT("Loading RF Architectures... (%04d / %04d)"),cur,ids);
205  dialog.Update(c, message);
206  dialog.SetSize(300,100);
207  }
208 
209  // FU Entries
210  cur = 0;
211  ids = fuIDs.size();
212  for (iter = fuIDs.begin(); iter != fuIDs.end(); iter++) {
213  const FUEntry* fuEntry = manager_->fuByEntryID(*iter);
214  wxString fuEntryLabel = WxConversion::toWxString(*iter);
215  wxTreeItemId entryTreeID = tree_->AppendItem(fuEntries, fuEntryLabel);
216  fuEntries_[*iter] = entryTreeID;
217 
218  if (fuEntry->hasArchitecture()) {
219  const FUArchitecture& arch = fuEntry->architecture();
220 
221  int archID = arch.id();
222  wxTreeItemId archTreeID = fuArchitectures_[archID];
223 
224  if (fuEntry->hasImplementation()) {
225  const FUImplementation& imp = fuEntry->implementation();
226  wxString impName = WxConversion::toWxString(imp.moduleName());
227  wxTreeItemId id = tree_->AppendItem(archTreeID, impName);
228  fuImplementations_[imp.id()] = id;
229  }
230  }
231 
232  delete fuEntry;
233  c++;
234  cur++;
235  message.Printf(wxT("Loading FU entries... (%04d / %04d)"),cur,ids);
236  dialog.Update(c, message);
237  dialog.SetSize(300,100);
238  }
239 
240  // RF Entries
241  cur = 0;
242  ids = rfIDs.size();
243  for (iter = rfIDs.begin(); iter != rfIDs.end(); iter++) {
244  const RFEntry* rfEntry = manager_->rfByEntryID(*iter);
245  wxString rfEntryLabel = WxConversion::toWxString(*iter);
246  wxTreeItemId entryTreeID = tree_->AppendItem(rfEntries, rfEntryLabel);
247  rfEntries_[*iter] = entryTreeID;
248 
249  if (rfEntry->hasArchitecture()) {
250  const RFArchitecture& arch = rfEntry->architecture();
251  int archID = arch.id();
252  wxTreeItemId archTreeID = rfArchitectures_[archID];
253 
254  if (rfEntry->hasImplementation()) {
255  const RFImplementation& imp = rfEntry->implementation();
256  wxString impName = WxConversion::toWxString(imp.moduleName());
257  wxTreeItemId id = tree_->AppendItem(archTreeID, impName);
258  rfImplementations_[imp.id()] = id;
259  }
260  }
261  delete rfEntry;
262  c++;
263  cur++;
264  message.Printf(wxT("Loading RF entries... (%04d / %04d)"),cur,ids);
265  dialog.Update(c, message);
266  dialog.SetSize(300,100);
267  }
268 
269  // Bus Entries
270  cur = 0;
271  ids = busIDs.size();
272  for (iter = busIDs.begin(); iter != busIDs.end(); iter++) {
273  wxString busEntryLabel = WxConversion::toWxString(*iter);
274  wxTreeItemId entryTreeID =
275  tree_->AppendItem(busEntries, busEntryLabel);
276 
277  busEntries_[*iter] = entryTreeID;
278  c++;
279  cur++;
280  message.Printf(wxT("Loading bus entries... (%04d / %04d)"),cur,ids);
281  dialog.Update(c, message);
282  dialog.SetSize(300,100);
283  }
284 
285  // Socket Entries
286  cur = 0;
287  ids = socketIDs.size();
288  for (iter = socketIDs.begin(); iter != socketIDs.end(); iter++) {
289  wxString socketEntryLabel = WxConversion::toWxString(*iter);
290  wxTreeItemId entryTreeID =
291  tree_->AppendItem(socketEntries, socketEntryLabel);
292 
293  socketEntries_[*iter] = entryTreeID;
294  cur++;
295  message.Printf(wxT("Loading socket entries... (%04d / %04d)"),cur,ids);
296  dialog.Update(c, message);
297  dialog.SetSize(300,100);
298  }
299 
300  // Cost estimation plugin data
301  cur = 0;
302  ids = pluginIDs.size();
303  for (iter = pluginIDs.begin(); iter != pluginIDs.end(); iter++) {
304 
305  const CostFunctionPlugin* plugin =
307 
308  wxString pluginName = WxConversion::toWxString(plugin->name());
309  wxTreeItemId id = tree_->AppendItem(costPlugins, pluginName);
310  costPlugins_[*iter] = id;
311  delete plugin;
312  c++;
313  cur++;
314  message.Printf(wxT("Loading cost estimation plugins... (%04d / %04d)"),cur,ids);
315  dialog.Update(c, message);
316  dialog.SetSize(300,100);
317  }
318 
319  // fugenOperations
320  for (auto &id : operationImplementationIDs) {
321  auto op = manager_->OperationImplementationByID(id);
322  std::string label = std::to_string(id) + " : " + op.name;
323  tree_->AppendItem(operationImplementations, label);
324  }
325 
326  // fugenResources
327  for (auto &id : operationImplementationResourceIDs) {
329  std::string label = std::to_string(id) + " : " + res.name;
330  tree_->AppendItem(operationImplementationResources, label);
331  }
332 
333  tree_->Expand(root);
334  infoPanel_->clear();
335 }

References HDB::RFEntry::architecture(), HDB::FUEntry::architecture(), HDB::FUArchitecture::architecture(), HDBToHtml::BUS_ENTRIES, HDBToHtml::COST_PLUGINS, HDBToHtml::FU_ARCHITECTURES, HDBToHtml::FU_ENTRIES, HDB::RFEntry::hasArchitecture(), HDB::FUEntry::hasArchitecture(), HDB::RFEntry::hasImplementation(), HDB::FUEntry::hasImplementation(), HWBlockArchitecture::id(), HDB::HWBlockImplementation::id(), HDB::RFEntry::implementation(), HDB::FUEntry::implementation(), HDB::HWBlockImplementation::moduleName(), HDB::CostFunctionPlugin::name(), HDBToHtml::OPERATION_IMPLEMENTATION_RESOURCES, HDBToHtml::OPERATION_IMPLEMENTATIONS, HDBToHtml::RF_ARCHITECTURES, HDBToHtml::RF_IU_ENTRIES, HDBToHtml::SOCKET_ENTRIES, and WxConversion::toWxString().

Referenced by HDBEditorMainFrame::update().

Here is the call graph for this function:

Member Data Documentation

◆ busEntries_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::busEntries_
private

Map of bus entry RowIDs to tree item IDs.

Definition at line 129 of file HDBBrowserWindow.hh.

◆ costPlugins_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::costPlugins_
private

Map of cost function plugin RowIDs to tree item IDs.

Definition at line 133 of file HDBBrowserWindow.hh.

◆ fuArchitectures_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::fuArchitectures_
private

Map of fu architecture RowIDs to tree item IDs.

Definition at line 121 of file HDBBrowserWindow.hh.

◆ fuEntries_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::fuEntries_
private

Map of fu entry RowIDs to tree item IDs.

Definition at line 125 of file HDBBrowserWindow.hh.

◆ fuImplementations_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::fuImplementations_
private

Map of fu implementation RowIDs to tree item IDs.

Definition at line 123 of file HDBBrowserWindow.hh.

◆ infoPanel_

HDBBrowserInfoPanel* HDBBrowserWindow::infoPanel_
private

Info panel widget for displaying the selected element information.

Definition at line 136 of file HDBBrowserWindow.hh.

◆ manager_

HDB::CachedHDBManager* HDBBrowserWindow::manager_
private

HDB to display in the browser.

Definition at line 103 of file HDBBrowserWindow.hh.

◆ rfArchitectures_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::rfArchitectures_
private

Map of rf architecture RowIDs to tree item IDs.

Definition at line 117 of file HDBBrowserWindow.hh.

◆ rfEntries_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::rfEntries_
private

Map of rf entry RowIDs to tree item IDs.

Definition at line 127 of file HDBBrowserWindow.hh.

◆ rfImplementations_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::rfImplementations_
private

Map of rf implementation RowIDs to tree item IDs.

Definition at line 119 of file HDBBrowserWindow.hh.

◆ socketEntries_

std::map<RowID, wxTreeItemId> HDBBrowserWindow::socketEntries_
private

Map of socket entry RowIDs to tree item IDs.

Definition at line 131 of file HDBBrowserWindow.hh.

◆ tree_

wxTreeCtrl* HDBBrowserWindow::tree_
private

Tree widget displayign the HDB hierarchy.

Definition at line 105 of file HDBBrowserWindow.hh.


The documentation for this class was generated from the following files:
HDB::FUArchitecture
Definition: FUArchitecture.hh:55
HDBBrowserWindow::update
void update()
Definition: HDBBrowserWindow.cc:109
HDB::FUEntry
Definition: FUEntry.hh:49
HDBToHtml::RF_IMPLEMENTATIONS
static const std::string RF_IMPLEMENTATIONS
Definition: HDBToHtml.hh:73
HDBBrowserInfoPanel::displayRFEntry
void displayRFEntry(RowID id)
Definition: HDBBrowserInfoPanel.cc:114
HDBBrowserWindow::fuArchLabel
wxString fuArchLabel(const TTAMachine::FunctionUnit &fu) const
Definition: HDBBrowserWindow.cc:864
HDBBrowserWindow::fuImplementations_
std::map< RowID, wxTreeItemId > fuImplementations_
Map of fu implementation RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:123
HDBBrowserInfoPanel::displayRFImplementation
void displayRFImplementation(RowID id)
Definition: HDBBrowserInfoPanel.cc:201
WxConversion::toWxString
static wxString toWxString(const std::string &source)
HDB::RFEntry::hasImplementation
virtual bool hasImplementation() const
Definition: RFEntry.cc:74
HDBEditorConstants::COMMAND_SET_COST_PLUGIN
@ COMMAND_SET_COST_PLUGIN
Definition: HDBEditorConstants.hh:58
HDBBrowserWindow::selectRFArchitecture
void selectRFArchitecture(int id)
Definition: HDBBrowserWindow.cc:724
TTAMachine::HWOperation
Definition: HWOperation.hh:52
HDBBrowserWindow::isRFArchitectureSelected
bool isRFArchitectureSelected()
Definition: HDBBrowserWindow.cc:353
HDBBrowserWindow::rfEntries_
std::map< RowID, wxTreeItemId > rfEntries_
Map of rf entry RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:127
HDBBrowserWindow::selectBusEntry
void selectBusEntry(int id)
Definition: HDBBrowserWindow.cc:679
HDB::HDBManager::costFunctionPluginIDs
std::set< RowID > costFunctionPluginIDs() const
Definition: HDBManager.cc:6553
HDB::RFEntry
Definition: RFEntry.hh:47
HDBBrowserWindow::isRFImplementationSelected
bool isRFImplementationSelected()
Definition: HDBBrowserWindow.cc:376
HDBBrowserInfoPanel::displayFUEntry
void displayFUEntry(RowID id)
Definition: HDBBrowserInfoPanel.cc:99
HDB::FUArchitecture::architecture
TTAMachine::FunctionUnit & architecture() const
Definition: FUArchitecture.cc:131
HDBBrowserWindow::manager_
HDB::CachedHDBManager * manager_
HDB to display in the browser.
Definition: HDBBrowserWindow.hh:103
HDBBrowserWindow::rfImplementations_
std::map< RowID, wxTreeItemId > rfImplementations_
Map of rf implementation RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:119
RowID
int RowID
Type definition of row ID in relational databases.
Definition: DBTypes.hh:37
HDBToHtml::FU_IMPLEMENTATIONS
static const std::string FU_IMPLEMENTATIONS
Definition: HDBToHtml.hh:72
HDB::HDBManager::OperationImplementationResourceByID
OperationImplementationResource OperationImplementationResourceByID(RowID id) const
Definition: HDBManager.cc:2410
HDBBrowserWindow::rfArchitectures_
std::map< RowID, wxTreeItemId > rfArchitectures_
Map of rf architecture RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:117
HDB::HDBManager::costFunctionPluginByID
CostFunctionPlugin * costFunctionPluginByID(RowID pluginID) const
Definition: HDBManager.cc:6631
Conversion::toString
static std::string toString(const T &source)
HDBBrowserWindow::selectFUImplementation
void selectFUImplementation(int id)
Definition: HDBBrowserWindow.cc:739
HDBBrowserWindow::selectRFImplementation
void selectRFImplementation(int id)
Definition: HDBBrowserWindow.cc:754
HDBBrowserInfoPanel::displayFUImplementation
void displayFUImplementation(RowID id)
Definition: HDBBrowserInfoPanel.cc:186
HDBBrowserInfoPanel::setHDB
void setHDB(const HDB::HDBManager &hdb)
Definition: HDBBrowserInfoPanel.cc:78
HDB::RFEntry::architecture
RFArchitecture & architecture() const
Definition: RFEntry.cc:145
HDBBrowserInfoPanel::displayOperationImplementationResource
void displayOperationImplementationResource(RowID id)
Definition: HDBBrowserInfoPanel.cc:243
HDBBrowserWindow::isSocketEntrySelected
bool isSocketEntrySelected()
Definition: HDBBrowserWindow.cc:417
TTAMachine::FunctionUnit
Definition: FunctionUnit.hh:55
HDBBrowserWindow::selectFUEntry
void selectFUEntry(int id)
Definition: HDBBrowserWindow.cc:649
HDBToHtml::OPERATION_IMPLEMENTATIONS
static const std::string OPERATION_IMPLEMENTATIONS
Definition: HDBToHtml.hh:75
HDB::HDBManager::OperationImplementationResourceIDs
std::set< RowID > OperationImplementationResourceIDs() const
Definition: HDBManager.cc:2221
HDBBrowserWindow::isBusEntrySelected
bool isBusEntrySelected()
Definition: HDBBrowserWindow.cc:407
HDBEditorConstants::COMMAND_MODIFY
@ COMMAND_MODIFY
Definition: HDBEditorConstants.hh:59
HDB::RFImplementation
Definition: RFImplementation.hh:50
HDBToHtml::FU_ENTRIES
static const std::string FU_ENTRIES
Definition: HDBToHtml.hh:65
HDB::FUEntry::hasArchitecture
virtual bool hasArchitecture() const
Definition: FUEntry.cc:117
HDB::HDBManager::fuArchitectureIDs
std::set< RowID > fuArchitectureIDs() const
Definition: HDBManager.cc:2163
TTAMachine::HWOperation::name
const std::string & name() const
Definition: HWOperation.cc:141
HDBBrowserWindow::isFUEntrySelected
bool isFUEntrySelected()
Definition: HDBBrowserWindow.cc:387
HDBToHtml::COST_PLUGINS
static const std::string COST_PLUGINS
Definition: HDBToHtml.hh:74
HDBBrowserInfoPanel::displayCostFunctionPlugin
void displayCostFunctionPlugin(RowID id)
Definition: HDBBrowserInfoPanel.cc:215
HDBBrowserWindow::busEntries_
std::map< RowID, wxTreeItemId > busEntries_
Map of bus entry RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:129
HDBBrowserWindow::selectCostFunctionPlugin
void selectCostFunctionPlugin(int id)
Definition: HDBBrowserWindow.cc:769
HDB::HDBManager::fuEntryIDs
std::set< RowID > fuEntryIDs() const
Definition: HDBManager.cc:2035
HDBBrowserWindow::selectedFUArchitecture
RowID selectedFUArchitecture()
Definition: HDBBrowserWindow.cc:466
HDBBrowserWindow::isOperationImplementationResourceSelected
bool isOperationImplementationResourceSelected()
Definition: HDBBrowserWindow.cc:439
HDBEditorConstants::COMMAND_ADD_FU_IMPLEMENTATION
@ COMMAND_ADD_FU_IMPLEMENTATION
Definition: HDBEditorConstants.hh:51
HDB::FUEntry::architecture
FUArchitecture & architecture() const
Definition: FUEntry.cc:129
HDBBrowserWindow::fuEntries_
std::map< RowID, wxTreeItemId > fuEntries_
Map of fu entry RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:125
HDBToHtml::BUS_ENTRIES
static const std::string BUS_ENTRIES
Definition: HDBToHtml.hh:68
HDBBrowserWindow::selectedCostFunctionPlugin
RowID selectedCostFunctionPlugin()
Definition: HDBBrowserWindow.cc:598
HDB::HDBManager::socketEntryIDs
std::set< RowID > socketEntryIDs() const
Definition: HDBManager.cc:2131
HDBEditorConstants::COMMAND_ADD_RF_IMPLEMENTATION
@ COMMAND_ADD_RF_IMPLEMENTATION
Definition: HDBEditorConstants.hh:52
HDBToHtml::RF_IU_ENTRIES
static const std::string RF_IU_ENTRIES
Definition: HDBToHtml.hh:67
TTAMachine::FunctionUnit::operationCount
virtual int operationCount() const
Definition: FunctionUnit.cc:419
HDBToHtml::OPERATION_IMPLEMENTATION_RESOURCES
static const std::string OPERATION_IMPLEMENTATION_RESOURCES
Definition: HDBToHtml.hh:76
HDBToHtml::RF_ENTRIES
static const std::string RF_ENTRIES
Definition: HDBToHtml.hh:66
HDB::OperationImplementation::name
std::string name
Definition: OperationImplementation.hh:50
HDBBrowserWindow::socketEntries_
std::map< RowID, wxTreeItemId > socketEntries_
Map of socket entry RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:131
HDBBrowserInfoPanel
Definition: HDBBrowserInfoPanel.hh:49
HDB::RFEntry::implementation
RFImplementation & implementation() const
Definition: RFEntry.cc:102
HDB::CachedHDBManager::fuArchitectureByIDConst
const FUArchitecture & fuArchitectureByIDConst(RowID id) const
Definition: CachedHDBManager.cc:484
HDBBrowserWindow::selectedRFImplementation
RowID selectedRFImplementation()
Definition: HDBBrowserWindow.cc:517
HDBBrowserInfoPanel::displayRFArchitecture
void displayRFArchitecture(RowID id)
Definition: HDBBrowserInfoPanel.cc:171
HDBBrowserWindow::costPlugins_
std::map< RowID, wxTreeItemId > costPlugins_
Map of cost function plugin RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:133
HDB::HDBManager::busEntryIDs
std::set< RowID > busEntryIDs() const
Definition: HDBManager.cc:2099
HDBBrowserInfoPanel::displayFUArchitecture
void displayFUArchitecture(RowID id)
Definition: HDBBrowserInfoPanel.cc:157
HDB::HDBManager::OperationImplementationIDs
std::set< RowID > OperationImplementationIDs() const
Definition: HDBManager.cc:2193
HDB::HDBManager::rfEntryIDs
std::set< RowID > rfEntryIDs() const
Definition: HDBManager.cc:2067
HWBlockArchitecture::id
RowID id() const
Definition: HWBlockArchitecture.cc:79
HDBBrowserWindow::infoPanel_
HDBBrowserInfoPanel * infoPanel_
Info panel widget for displaying the selected element information.
Definition: HDBBrowserWindow.hh:136
HDB::HDBManager::rfArchitectureIDs
std::set< RowID > rfArchitectureIDs() const
Definition: HDBManager.cc:2734
HDB::FUImplementation
Definition: FUImplementation.hh:53
HDB::RFArchitecture
Definition: RFArchitecture.hh:50
MapTools::containsKey
static bool containsKey(const MapType &aMap, const KeyType &aKey)
HDBBrowserWindow::selectedFUImplementation
RowID selectedFUImplementation()
Definition: HDBBrowserWindow.cc:500
HDBBrowserWindow::selectSocketEntry
void selectSocketEntry(int id)
Definition: HDBBrowserWindow.cc:694
HDBBrowserWindow::tree_
wxTreeCtrl * tree_
Tree widget displayign the HDB hierarchy.
Definition: HDBBrowserWindow.hh:105
HDB::HDBManager::OperationImplementationByID
OperationImplementation OperationImplementationByID(RowID id) const
Definition: HDBManager.cc:2248
HDBBrowserInfoPanel::displaySocketEntry
void displaySocketEntry(RowID id)
Definition: HDBBrowserInfoPanel.cc:142
HDB::HWBlockImplementation::id
RowID id() const
Definition: HWBlockImplementation.cc:128
MapTools::containsValue
static bool containsValue(const MapType &aMap, const ValueType &aValue)
HDBToHtml::SOCKET_ENTRIES
static const std::string SOCKET_ENTRIES
Definition: HDBToHtml.hh:69
HDBBrowserWindow::selectRFEntry
void selectRFEntry(int id)
Definition: HDBBrowserWindow.cc:664
HDB::OperationImplementationResource::name
std::string name
Definition: OperationImplementationResource.hh:41
HDBBrowserInfoPanel::displayOperationImplementation
void displayOperationImplementation(RowID id)
Definition: HDBBrowserInfoPanel.cc:229
HDBBrowserWindow::selectedRFEntry
RowID selectedRFEntry()
Definition: HDBBrowserWindow.cc:549
HDBEditorConstants::COMMAND_DELETE
@ COMMAND_DELETE
Definition: HDBEditorConstants.hh:60
HDBBrowserWindow::selectedBusEntry
RowID selectedBusEntry()
Definition: HDBBrowserWindow.cc:565
HDBBrowserWindow::isFUArchitectureSelected
bool isFUArchitectureSelected()
Definition: HDBBrowserWindow.cc:343
HDB::HWBlockImplementation::moduleName
std::string moduleName() const
Definition: HWBlockImplementation.cc:153
TTAMachine::FunctionUnit::operation
virtual HWOperation * operation(const std::string &name) const
Definition: FunctionUnit.cc:363
HDBBrowserWindow::selectFUArchitecture
void selectFUArchitecture(int id)
Definition: HDBBrowserWindow.cc:709
TTAMachine::HWOperation::latency
int latency() const
Definition: HWOperation.cc:216
Conversion::toInt
static int toInt(const T &source)
HDBBrowserWindow::selectedSocketEntry
RowID selectedSocketEntry()
Definition: HDBBrowserWindow.cc:581
HDBBrowserWindow::isOperationImplementationSelected
bool isOperationImplementationSelected()
Definition: HDBBrowserWindow.cc:453
HDBBrowserWindow::ID_TREE_VIEW
@ ID_TREE_VIEW
Definition: HDBBrowserWindow.hh:113
HDB::FUEntry::hasImplementation
virtual bool hasImplementation() const
Definition: FUEntry.cc:74
HDBBrowserInfoPanel::clear
void clear()
Definition: HDBBrowserInfoPanel.cc:89
HDB::FUEntry::implementation
FUImplementation & implementation() const
Definition: FUEntry.cc:86
WxConversion::toString
static std::string toString(const wxString &source)
HDB::HDBManager::fuByEntryID
FUEntry * fuByEntryID(RowID id) const
Definition: HDBManager.cc:2828
HDBBrowserWindow::isFUImplementationSelected
bool isFUImplementationSelected()
Definition: HDBBrowserWindow.cc:364
HDBBrowserInfoPanel::displayBusEntry
void displayBusEntry(RowID id)
Definition: HDBBrowserInfoPanel.cc:128
HDBBrowserWindow::isCostFunctionPluginSelected
bool isCostFunctionPluginSelected()
Definition: HDBBrowserWindow.cc:428
HDB::CostFunctionPlugin::name
std::string name() const
Definition: CostFunctionPlugin.cc:84
HDBToHtml::FU_ARCHITECTURES
static const std::string FU_ARCHITECTURES
Definition: HDBToHtml.hh:70
HDB::RFEntry::hasArchitecture
virtual bool hasArchitecture() const
Definition: RFEntry.cc:117
HDB::CostFunctionPlugin
Definition: CostFunctionPlugin.hh:43
HDBToHtml::RF_ARCHITECTURES
static const std::string RF_ARCHITECTURES
Definition: HDBToHtml.hh:71
HDBBrowserWindow::fuArchitectures_
std::map< RowID, wxTreeItemId > fuArchitectures_
Map of fu architecture RowIDs to tree item IDs.
Definition: HDBBrowserWindow.hh:121
HDBBrowserWindow::selectedFUEntry
RowID selectedFUEntry()
Definition: HDBBrowserWindow.cc:533
HDBBrowserWindow::isRFEntrySelected
bool isRFEntrySelected()
Definition: HDBBrowserWindow.cc:397
HDB::HDBManager::rfByEntryID
RFEntry * rfByEntryID(RowID id) const
Definition: HDBManager.cc:2885
HDBBrowserWindow::selectedRFArchitecture
RowID selectedRFArchitecture()
Definition: HDBBrowserWindow.cc:483