42 namespace GuiApiClasses {
57 static int isolateInNew(
const std::vector<Module*> modules,
const std::vector<Gate*> gates);
75 static bool addTo(
int id,
const std::vector<Module*> modules,
const std::vector<Gate*> gates);
85 static bool removeFrom(
int id,
const std::vector<Module*> modules,
const std::vector<Gate*> gates);
94 static bool setName(
int id,
const std::string&
name);
102 static int getId(
const std::string&
name);
110 static std::string
getName(
int id);
118 static std::vector<Module*>
getModules(
int id);
126 static std::vector<Gate*>
getGates(
int id);
135 static std::vector<u32>
getIds(
const std::vector<Module*> modules,
const std::vector<Gate*> gates);
202 static void moveView(
u32 viewId, std::optional<u32> destinationDirectoryId, std::optional<int> row);
211 static void moveDirectory(
u32 directoryId, std::optional<u32> destinationDirectoryId, std::optional<int> row);
285 std::tuple<std::vector<u32>, std::vector<u32>, std::vector<u32>>
getSelectedItemIds();
314 std::tuple<std::vector<Gate*>, std::vector<Net*>, std::vector<Module*>>
getSelectedItems();
327 void selectGate(
u32 gate_id,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
340 void selectGate(
const std::vector<u32>& gate_ids,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
353 void selectGate(
Gate* gate,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
366 void selectGate(
const std::vector<Gate*>& gates,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
379 void selectNet(
u32 netId,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
392 void selectNet(
const std::vector<u32>& net_ids,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
405 void selectNet(
Net*
net,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
418 void selectNet(
const std::vector<Net*>& nets,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
431 void selectModule(
u32 module_id,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
444 void selectModule(
const std::vector<u32>& module_ids,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
470 void selectModule(
const std::vector<Module*>& modules,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
483 void select(
Gate* gate,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
496 void select(
Net*
net,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
509 void select(
Module*
module,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
522 void select(
const std::vector<Gate*>& gates,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
535 void select(
const std::vector<Net*>& nets,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
548 void select(
const std::vector<Module*>& modules,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
563 void select(
const std::vector<u32>& gate_ids,
const std::vector<u32>& net_ids,
const std::vector<u32>& module_ids,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
578 void select(
const std::vector<Gate*>& gates,
const std::vector<Net*>& nets,
const std::vector<Module*>& modules,
bool clear_current_selection =
true,
bool navigate_to_selection =
true);
695 void deselect(
const std::vector<Gate*>& gates);
702 void deselect(
const std::vector<Net*>& nets);
709 void deselect(
const std::vector<Module*>& modules);
718 void deselect(
const std::vector<u32>& gate_ids,
const std::vector<u32>& net_ids,
const std::vector<u32>& module_ids);
727 void deselect(
const std::vector<Gate*>& gates,
const std::vector<Net*>& nets,
const std::vector<Module*>& modules);
static bool foldModule(int view_id, Module *module)
static void deleteDirectory(u32 id)
static bool unfoldModule(int view_id, Module *module)
static void moveDirectory(u32 directoryId, std::optional< u32 > destinationDirectoryId, std::optional< int > row)
static int getId(const std::string &name)
static bool removeFrom(int id, const std::vector< Module * > modules, const std::vector< Gate * > gates)
static int isolateInNew(const std::vector< Module * > modules, const std::vector< Gate * > gates)
static bool setName(int id, const std::string &name)
static void moveView(u32 viewId, std::optional< u32 > destinationDirectoryId, std::optional< int > row)
static std::string getName(int id)
static GridPlacement * getGridPlacement(int viewId)
static bool setGridPlacement(int viewId, GridPlacement *gp)
static u32 createNewDirectory(const std::string &name)
static std::vector< Gate * > getGates(int id)
static std::optional< std::vector< u32 > > getChildDirectories(u32 directoryId)
static bool addTo(int id, const std::vector< Module * > modules, const std::vector< Gate * > gates)
static std::optional< std::vector< u32 > > getChildViews(u32 directoryId)
static bool deleteView(int id)
static std::vector< Module * > getModules(int id)
static void setCurrentDirectory(u32 id)
static std::vector< u32 > getIds(const std::vector< Module * > modules, const std::vector< Gate * > gates)
static u32 getCurrentDirectory()
static ModuleGateIdPair getValidObjects(int viewId, const std::vector< Module * >, const std::vector< Gate * >)
Interface to interact with the gui itself.
void deselectNet(u32 netId)
void deselectModule(u32 module_id)
std::vector< u32 > getSelectedNetIds()
std::tuple< std::vector< Gate * >, std::vector< Net * >, std::vector< Module * > > getSelectedItems()
std::vector< u32 > getSelectedModuleIds()
std::vector< Gate * > getSelectedGates()
std::vector< Net * > getSelectedNets()
void deselect(Gate *gate)
void selectNet(u32 netId, bool clear_current_selection=true, bool navigate_to_selection=true)
void navigationRequested()
void select(Gate *gate, bool clear_current_selection=true, bool navigate_to_selection=true)
std::vector< u32 > getSelectedGateIds()
std::vector< Module * > getSelectedModules()
std::tuple< std::vector< u32 >, std::vector< u32 >, std::vector< u32 > > getSelectedItemIds()
void selectModule(u32 module_id, bool clear_current_selection=true, bool navigate_to_selection=true)
void selectGate(u32 gate_id, bool clear_current_selection=true, bool navigate_to_selection=true)
void deselectGate(u32 gate_id)
const Module * module(const Gate *g, const NodeBoxes &boxes)