HAL
hal Namespace Reference

Namespaces

 boolean_influence
 
 BooleanFunctionParser
 
 core_strings
 
 dataflow
 
 event_log
 
 gate_library_manager
 
 gate_library_parser_manager
 
 gate_library_writer_manager
 
 graph_algorithm
 
 graph_widget_constants
 
 GraphicsFactory
 Contains utility factory functions.
 
 gui_utility
 
 GuiApiClasses
 
 JsonConverter
 
 netlist_factory
 
 netlist_parser_manager
 
 netlist_serializer
 
 netlist_utils
 
 netlist_writer_manager
 
 plugin_manager
 
 result_constructor_type
 
 ShortestPath
 
 Simplification
 
 SMT
 
 solve_fsm
 
 style
 
 utils
 

Classes

class  PyBasePluginInterface
 
class  Action
 Provides an interface for triggerable functionality that can be inserted into widgets and also connected to shortcuts. More...
 
class  BaseTreeItem
 (Future) Base class for all tree models related to the details widget. More...
 
class  RootTreeItem
 
class  BaseTreeModel
 The BaseTreeModel implements generic standard functions of a tree model. More...
 
struct  ChannelEntry
 The ChannelEntry struct is used by the ChannelItem class to store a single entry. More...
 
class  ChannelItem
 This class represents a channel in the channel model. It primarily holds the channel name and its entries. More...
 
class  ChannelModel
 Table model for log channels. More...
 
class  ChannelSelector
 A combobox for selecting a logger channel. More...
 
class  CodeEditor
 A plain text edit widget that is intended for editing code. More...
 
class  CodeEditorMinimap
 A minimap that supports an easier navigation in larger files. More...
 
class  CodeEditorScrollbar
 Represents the scrollbar of the CodeEditor. More...
 
class  LineNumberArea
 Shows line numbers next to a CodeEditor. More...
 
class  MinimapScrollbar
 The scrollbar of the CodeEditorMinimap. More...
 
class  PythonQssAdapter
 QSS Adapter to provide the color configurations used by the PythonSyntaxHighlighter. More...
 
class  PythonSyntaxHighlighter
 A syntax highlighter that fits for python code. More...
 
class  CommentEntry
 The CommentEntry class encapsulated information related to a comment. More...
 
class  CommentManager
 
class  CommentSpeechBubble
 
class  CommentColorPicker
 
class  CommentDialog
 
class  CommentItem
 
class  CommentWidget
 
class  ContentAnchor
 An abstract class that provides the interface for specific anchors (see SplitterAnchor or TabWidget ). More...
 
class  ContentFrame
 Wraps the ContentWidget class. More...
 
class  ContentLayoutArea
 Manages the layout of all ContentWidgets. More...
 
class  ContentFactory
 
class  ExternalContent
 
class  ExternalContentWidget
 
class  ContentManager
 Manages all ContentWidgets. More...
 
class  ContentWidget
 Abstract class for Widgets within HAL's ContentArea. More...
 
class  ContextManagerWidget
 Provides the user with an interface to manage GraphContexts. More...
 
class  ContextProxyModel
 A proxy model to filter the ContextTableModel by a given string. More...
 
class  ContextDirectory
 
class  ContextTreeItem
 
class  ContextTreeModel
 Base model for the ContextManagerWidget to manage GraphContexts. More...
 
class  ContentDragRelay
 This relay provides the timing information when a DockButton is dragged. It is implemented as a singleton pattern. More...
 
class  DockBar
 Contains and handles DockButtons. More...
 
class  DockButton
 A button of in the DockerBar. More...
 
class  DockMimeData
 QMineData to store and transfer information while dragging a DockButton. More...
 
class  SplitterAnchor
 Adds specific ContentWidgets to HALs main content area. More...
 
class  TabWidget
 Adds specific ContentWidgets to HALs main content area. More...
 
class  ExpandingListButton
 One button of the ExpandingListWidget. More...
 
class  ExpandingListItem
 Wrapper for ExpandingListButtons. More...
 
class  ExpandingListGroup
 A helper class to group related list items (buttons). More...
 
class  ExpandingListWidget
 A selection menu with a hierarchic structure. More...
 
class  ExportProjectDialog
 
class  ExportRegisteredFormat
 Utility class to export (save) different hal files. More...
 
class  FileSelectWidget
 
class  ImportProjectDialog
 
class  FileManager
 Stores information about the currently opened netlist. More...
 
class  ImportNetlistDialog
 
class  NewProjectDialog
 
class  ProjectDirDialogStatus
 
class  ProjectDirDialog
 
class  ProjectJson
 
class  FileModifiedBar
 A dialog in form of a bar to let the user decide how to handle file changes outside of HAL. More...
 
class  FileStatusManager
 Holds information about the state (e.g. saved/unsaved) of all laded files (i.e. .hal/.python files). More...
 
class  LabeledFrame
 A QFrame with a label. More...
 
class  GatelibraryContentWidget
 
class  GatelibraryComponentFrame
 
class  GatelibraryFrameFF
 
class  GatelibraryFrameInit
 
class  GateLibraryFrameLatch
 
class  GatelibraryFrameLut
 
class  GateLibraryFrameRAM
 
class  GateLibraryFrameRAMPort
 
class  GatelibraryFrameState
 
class  GatelibraryGraphicsView
 
class  GateLibraryLabel
 
class  GateLibraryManager
 
class  BooleanFunctionEdit
 
class  BoolWizardPage
 
class  FlipFlopWizardPage
 
class  ListPropertyModel
 
class  ListPropertyProxy
 
class  GeneralInfoWizardPage
 
class  InitWizardPage
 
class  LatchWizardPage
 
class  LUTWizardPage
 
class  PinsWizardPage
 
class  RAMPortWizardPage
 
class  RAMWizardPage
 
class  StateWizardPage
 
class  GatelibraryProxyModel
 Helper model to make filtering available. More...
 
class  GateLibrarySelectionEntry
 
class  GateLibrarySelectionTable
 
class  GateLibrarySelection
 
class  GatelibraryFrameGeneral
 
class  GatelibraryFrameBoolean
 
class  GateLibraryTabGeneral
 
class  GateLibraryTabInterface
 
class  PinTreeView
 
class  GateLibraryTabPin
 
class  GatelibraryLutInit
 
class  GateLibraryTabTruthTable
 
class  GatelibraryTableModel
 A model to display loaded gatelibraries. More...
 
class  GatelibraryTableView
 
class  GateLibraryWizard
 
class  GraphTabWidget
 A ContentWidget that holds all GraphWidget objects (GraphView) as tabs of a QTabWidget. More...
 
class  GraphContext
 Logical container for modules, gates, and nets. More...
 
class  DragController
 
class  GraphContextManager
 User interface to manage all GraphContexts. More...
 
class  GraphContextSerializer
 
class  GraphGraphicsViewNeighborSelector
 
class  GraphGraphicsView
 A view to display the rendered graph (needs a GraphicsScene). More...
 
class  GraphNavigationTableWidget
 A widget used to select destinations when traversing through the graph. More...
 
class  GraphNavigationTreeWidget
 
class  GraphNavigationWidget
 
class  GraphWidget
 Wraps a GraphContext and a GraphGraphicsView. More...
 
class  GraphicsQssAdapter
 Connects the stylesheet properties with the code. More...
 
class  GraphicsScene
 Container for a GraphGraphicsView containing gates, nets, and modules. More...
 
class  GraphicsItem
 Superclass for all graphic items used ins the GraphicsScene. It contains information about the underlying objects that are represented, i.e. the type and the id. More...
 
class  ArrowSeparatedNet
 Used to display all nets which destinations are not in the current view. More...
 
class  CircleSeparatedNet
 Used to display all nets which destinations are not in the current view. More...
 
class  GraphicsNet
 The basic net class all other nets inherit from. More...
 
class  LabeledSeparatedNet
 Nets whose output and input can be labeled (e.g. from GND/VCC) More...
 
class  SeparatedGraphicsNet
 Abstract base class for separated nets (e.g. ArrowSeparatedNet) More...
 
class  StandardArrowNet
 A standard net that has parts of a separated net. More...
 
class  StandardGraphicsNet
 The most basic net to display the standard nets. More...
 
class  GraphicsGate
 Abstract base class for gates. More...
 
class  StandardGraphicsGate
 The standard gate to visualize netlist gates. More...
 
class  GraphicsNode
 Abstract base class for nodes (e.g. gates, modules) More...
 
class  GraphicsModule
 Abstract base class for modules. More...
 
class  StandardGraphicsModule
 The standard module to visualize netlist modules. More...
 
class  NodeDragShadow
 An item that is drawn when a node is dragged through the scene. More...
 
class  LayoutLockerManager
 
class  LayoutLocker
 
class  CoordinateFromData
 Utility class that extracts (if possible) x and y coordinates contained in the netlist. More...
 
class  CoordinateFromDataMap
 Utility class that stores the nodes that contained existing x and y coordinates. More...
 
class  GraphLayouter
 Base class for all specific layouters. More...
 
class  DrawNetThread
 
class  JunctionThread
 
class  LaneIndex
 
class  NetLayoutJunctionRange
 
class  NetLayoutJunctionWire
 
class  NetLayoutJunctionEntries
 
class  NetLayoutJunctionMultiPin
 
class  NetLayoutJunctionNet
 Single net to be routed through the junction. More...
 
class  NetLayoutJunctionOccupied
 
class  NetLayoutJunctionOccupiedHash
 
class  NetLayoutJunction
 
class  NetLayoutJunctionHash
 
class  NetLayoutDirection
 
class  NetLayoutPoint
 
class  NetLayoutWire
 
class  NetLayoutConnection
 
class  NetLayoutMetric
 
class  NetLayoutConnectionFactory
 
class  NetLayoutConnectionMetric
 
class  NodeBox
 The NodeBox class represents a node placed at a grid position within a hal view. More...
 
class  NodeBoxes
 The NodeBoxes class owns all NodeBox'es from hal view. More...
 
class  PhysicalGraphLayouter
 A specific implementation of a layouter. More...
 
class  PositionGenerator
 
class  StandardGraphLayouter
 The standard layouter used to layout netlists. More...
 
class  WaitToBeSeatedEntry
 
class  WaitToBeSeatedList
 
class  AbstractBusyIndicator
 
class  ProgressBar
 
class  BusyAnimation
 
class  BusyIndicator
 
class  GraphShader
 Base class to store and update visual information about the graph. More...
 
class  ModuleShader
 Specifically stores/updates visual information about a module and its items. More...
 
class  ShadowEffect
 Creates a shadow effect around QObjects. More...
 
class  GroupingColorDelegate
 Displays a colored box for the GroupingManagerWidget. More...
 
class  GroupingColorSerializer
 
class  GroupingManagerWidget
 User interface for Groupings. More...
 
class  GroupingProxyModel
 Helper model to make filtering available. More...
 
class  GroupingTableEntry
 An entry within a GroupingTableModel. More...
 
class  GroupingTableModel
 Table that holds information about all groupings. More...
 
class  GroupingTableHistory
 
class  GroupingTableView
 
class  GroupingDialog
 
class  GuiApi
 Interface to interact with the gui itself. More...
 
class  Node
 The Node class object represents a module or a gate. More...
 
class  GridPlacement
 
class  PlacementHint
 The PlacementHint class object provides hints for the layouter how new box objects are placed on a view. In standard mode placement is done using the most compact squere-like arrangement. Alternatively new box objects can be placed to the left or right to a node which serves as 'origin'. More...
 
class  PlacementEntry
 Container class to store a PlacementHint togerther with a set of modules and gates. More...
 
class  CommonSuccessorPredecessorGateQueue
 
class  CommonSuccessorPredecessor
 
class  SpecialLogContentManager
 Logs the python editor and gui screenshots. More...
 
class  ComboboxDialog
 
class  InputDialog
 Generic input dialog for user input. More...
 
class  PingroupSelectorDialog
 
class  KeybindEdit
 A widget to set or configure key shortcuts. More...
 
class  LabelButton
 Adds button functionality to a QLabel. More...
 
class  LoggerMarshall
 Appends log messages to the corresponding LoggerWidget. More...
 
class  LoggerQssAdapter
 Connects the stylesheet properties to the log designs. More...
 
struct  LoggerSettings
 
class  LoggerWidget
 Displays the logs in the gui. More...
 
class  AboutDialog
 A dialog that displays the Qt version and our open source license. More...
 
class  ColorSelection
 
class  FileActions
 
class  KeyValueTable
 
class  MainWindow
 The top level widget. More...
 
class  PluginParameterFileDialog
 
class  PluginParameterNodeDialog
 
class  PluginParameterDialog
 
class  ModuleContextMenu
 
class  GateDialog
 The GateDialog class opens a popup window for module selection. More...
 
class  GateSelectEntry
 The GateSelectEntry class comprises a single entry of the module selection table. More...
 
class  GateSelectModel
 The GateSelectModel class is the source model for module selection. More...
 
class  GateSelectProxy
 The GateSelectProxy class allows sorting and filtering of module tables. More...
 
class  GateSelectReceiver
 
class  GateSelectPicker
 The GateSelectPicker class instance gets spawned to pick module from graph. More...
 
class  GateSelectHistory
 The GateSelectHistory class singleton comprises a list of user selected modules. More...
 
class  GateSelectView
 The GateSelectView class is the table widget for module selection. More...
 
class  AddToModuleReceiver
 
class  ModuleDialog
 The ModuleDialog class opens a popup window for module selection. More...
 
class  ModuleSelectEntry
 The ModuleSelectEntry class comprises a single entry of the module selection table. More...
 
class  ModuleSelectExclude
 The ModuleSelectExclude class is used to determine which modules can't be selected. More...
 
class  ModuleSelectModel
 The ModuleSelectModel class is the source model for module selection. More...
 
class  ModuleSelectProxy
 The ModuleSelectProxy class allows sorting and filtering of module tables. More...
 
class  ModuleSelectReceiver
 
class  ModuleSelectPicker
 The ModuleSelectPicker class instance gets spawned to pick module from graph. More...
 
class  ModuleSelectHistory
 The ModuleSelectHistory class singleton comprises a list of user selected modules. More...
 
class  ModuleSelectView
 The ModuleSelectView class is the table widget for module selection. More...
 
class  ModuleColorManager
 
class  ModuleColorSerializer
 
class  ModuleItem
 An item in the ModuleModel. More...
 
class  ModuleModel
 A model for displaying multiple netlist elements. More...
 
class  ModuleProxyModel
 Enables filtering in the ModuleModel. More...
 
class  ModuleTreeView
 Wraps the QTreeView used for the ModuleWidget. More...
 
class  ModuleWidget
 Shows the modules of the netlist hierarchical in a tree view. More...
 
class  NetlistRelay
 Connects the hal-core events to the gui. More...
 
class  Overlay
 The Overlay overlays its parent. More...
 
class  WidgetOverlay
 Container for a QWidget that overlays another one. More...
 
class  PinDelegate
 
class  PinItem
 An item in the PinModel. More...
 
class  PinModel
 
class  PinProxyModel
 A proxy model to filter the ContextTableModel by a given string. More...
 
class  GuiPluginEntry
 
class  GuiPluginDelegate
 
class  SupportedFileFormats
 
class  GuiPluginTable
 
class  GuiPluginView
 
class  GuiPluginManager
 
class  PluginRelay
 Forwards plugin related events from the core to the gui. More...
 
class  PyCodeProvider
 
class  PythonCodeEditor
 Code editor to write python code. More...
 
class  PythonConsoleAbortThread
 
class  PythonConsole
 An interactable python console. More...
 
class  PythonConsoleHistory
 Stores the history of python commands. More...
 
class  PythonConsoleQssAdapter
 Connects the stylesheet properties to the console code. More...
 
class  PythonConsoleWidget
 Wraps the PythonConsole. More...
 
class  PythonGateSelectionReceiver
 
class  PythonModuleSelectionReceiver
 
class  PythonContextSubscriber
 Interface for handling python outputs. More...
 
class  PythonSerializer
 
class  PythonEditor
 Main widget that combines all neccessary functionality to develop in python (for hal). More...
 
class  PythonEditorCodeCompletionDialog
 Dialog for python code completion. More...
 
class  PythonMutex
 
class  PythonThread
 
class  SearchProxyModel
 
class  SearchableLabel
 
class  Searchbar
 A QFrame with a QLineEdit that can be used to input a substring to search for. More...
 
class  SearchColumnDialog
 
class  SearchOptions
 
class  SearchOptionsDialog
 
class  DataTableModel
 A model to display the data of a DataContainer. More...
 
class  DataTableWidget
 A widget to display the data of a DataContainer (Module, Gate or Net) More...
 
class  DetailsFrameWidget
 
class  DetailsTabWidget
 
class  DetailsTableUtilities
 Helper class consisting of usefull details-related functions. More...
 
class  GateDetailsTabWidget
 The DetailsTabWidget that is responsible for showing Gate details. More...
 
class  BooleanFunctionTable
 A table view that shows BooleanFunctions and clear-preset behaviors. More...
 
class  BooleanFunctionTableEntry
 An entry in the boolean function table model. More...
 
class  BooleanFunctionEntry
 A BooleanFunctionTableEntry that represents a boolean function. More...
 
class  FFComponentEntry
 A entry type that represents properties (functions and behaviors) of an FFCompont. More...
 
class  LatchComponentEntry
 An entry type that represents properties (functions or behaviors) of a LatchComponent. More...
 
class  CPBehaviorEntry
 A BooleanFunctionTableEntry that represents a clear-preset behavior. More...
 
class  StateComponentEntry
 Utility class that represents a state of the StateComponent. More...
 
class  BooleanFunctionTableModel
 A model that holds BooleanFunctions and clear-preset behaviors. More...
 
class  GateInfoTable
 
class  GatePinTree
 A widget to display the pins of a given gate. More...
 
class  LUTTableModel
 A model for truth-tables. More...
 
class  LUTTableWidget
 A view for truth-tables (based on the LUTTableModel) More...
 
class  PinTreeItem
 
class  GatePinsTreeModel
 A model to display the pins of a gate. More...
 
class  GeneralTableWidget
 
class  GroupingsOfItemModel
 A TableModel to store all Groupings that contain a specified Gate, Net or Module. More...
 
class  GroupingsOfItemWidget
 A TableView to display all groupings that contain a specified Gate, Net or Module. More...
 
class  ModuleDetailsTabWidget
 The DetailsTabWidget that is responsible for showing Module details. More...
 
class  FilterElementsProxyModel
 Enables filtering of nets or gates in the ModuleModel. More...
 
class  ModuleElementsTree
 A widget to display the specific (direct submodules, gates) items of a given module. More...
 
class  ModuleInfoTable
 
class  ModulePinsTree
 A widget to display the ports of a given module. More...
 
class  PortTreeItem
 
class  ModulePinsTreeModel
 A model to represent the ports of a module. More...
 
class  NetDetailsTabWidget
 The DetailsTabWidget that is responsible for showing Module details. More...
 
class  EndpointTableModel
 A model to display endpoint data. More...
 
class  ModuleTableModel
 A model to display module data. More...
 
class  NetEndpointTable
 
class  NetInfoTable
 
class  NetModuleTable
 
class  SelectionDetailsIconProvider
 
class  SelectionDetailsWidget
 Container for all specific details widgets. More...
 
class  SelectionTreeProxyModel
 Enables filtering of the SelectionTreeModel. More...
 
class  SelectionTreeView
 Displays the current selection. More...
 
class  SelectionRelay
 Stores and manages the gui's selection state. More...
 
class  AssignedKeybindMap
 A map to keep track of the assigned keybinds. More...
 
class  MainSettingsList
 List that contains all SettingsWidgets. More...
 
class  MainSettingsWidget
 The top-level widget that displays all settings. More...
 
class  PreviewWidget
 unused. More...
 
class  SettingsDisplay
 unused. More...
 
class  SettingsItem
 The interface for the logical part of a setting. More...
 
class  SettingsItemCheckbox
 A SettingsItem representing a Checkbox. More...
 
class  SettingsItemDropdown
 A SettingsItem that represents a dropdown menu. More...
 
class  SettingsItemKeybind
 A SettingsItem to modify keybinds. More...
 
class  SettingsItemSlider
 A SettingsItem representing a slider. More...
 
class  SettingsItemSpinbox
 A SettingsItem that represents a spinbox. More...
 
class  SettingsItemText
 A SettingsItem that represents a textfield. More...
 
class  SettingsManager
 Manages and persists the settings on the lowest level. More...
 
class  SettingsWidget
 The base class for all specific SettingsWidgets. More...
 
class  SettingsWidgetCheckbox
 A SettingsWidget representing a checkbox. More...
 
class  SettingsWidgetDropdown
 A SettingsWidget representing a dropdown menu. More...
 
class  SettingsWidgetKeybind
 A setting to configure keybinds. More...
 
class  SettingsWidgetSlider
 A SettingsWidget representing a slider. More...
 
class  SettingsWidgetSpinbox
 A SettingsWidget representing a spinbox. More...
 
class  SettingsWidgetText
 A SettingsWidget representing a textfield. More...
 
class  SeveritySelector
 
class  SpinnerWidget
 A loading wheel. More...
 
class  Splitter
 A QSplitter that can be checked if it is unused or not. More...
 
class  SvgIconEngine
 Creates Icons from svg data. More...
 
class  Toolbar
 Toolbar for all ContentFrames and ContentWidgets. More...
 
class  ActionAddBooleanFunction
 Either adds a new function or changes an exisiting function of a given gate. More...
 
class  ActionAddBooleanFunctionFactory
 The ActionAddBooleanFunctionFactory class. More...
 
class  ActionAddItemsToObject
 Adds an item to a module or grouping. More...
 
class  ActionAddItemsToObjectFactory
 UserActionFactory for ActionAddItemsToObject. More...
 
class  ActionCreateObject
 Create a new item. More...
 
class  ActionCreateObjectFactory
 UserActionFactory for ActionCreateObject. More...
 
class  ActionDeleteObject
 Deletes an object. More...
 
class  ActionDeleteObjectFactory
 UserActionFactory for ActionDeleteObject. More...
 
class  ActionFoldModule
 Folds a module. More...
 
class  ActionFoldModuleFactory
 UserActionFactory for ActionFoldModule. More...
 
class  ActionMoveItem
 Moves a node. More...
 
class  ActionMoveItemFactory
 UserActionFactory for ActionMoveItem. More...
 
class  ActionMoveNode
 Moves a node. More...
 
class  ActionMoveNodeFactory
 UserActionFactory for ActionMoveNode. More...
 
class  ActionOpenNetlistFile
 Loads a netlist. More...
 
class  ActionOpenNetlistFileFactory
 UserActionFactory for ActionOpenNetlistFile. More...
 
class  PinActionType
 
class  ActionPingroup
 Pingroup user actions. More...
 
class  ActionPingroupFactory
 UserActionFactory for ActionPingroup. More...
 
class  ActionRemoveItemsFromObject
 Removes an item from a Module or Grouping. More...
 
class  ActionRemoveItemsFromObjectFactory
 UserActionFactory for ActionRemoveItemsFromObject. More...
 
class  ActionRenameObject
 Renames an item. More...
 
class  ActionRenameObjectFactory
 UserActionFactory for ActionRenameObject. More...
 
class  ActionSetObjectColor
 Recolors the object. More...
 
class  ActionSetObjectColorFactory
 UserActionFactory for ActionSetObjectColor. More...
 
class  ActionSetObjectData
 
class  ActionSetObjectDataFactory
 The ActionSetObjectDataFactory class. More...
 
class  ActionSetObjectType
 Assigns a new type to a module. More...
 
class  ActionSetObjectTypeFactory
 UserActionFactory for ActionSetObjectType. More...
 
class  ActionSetSelectionFocus
 Set the selection and focus. More...
 
class  ActionSetSelectionFocusFactory
 UserActionFactory for ActionSetSelectionFocus. More...
 
class  ActionUnfoldModule
 Unfolds a module. More...
 
class  ActionUnfoldModuleFactory
 UserActionFactory for ActionUnfoldModule. More...
 
class  UserAction
 The UserAction class is the abstract base class for user interactions. More...
 
class  UserActionFactory
 The UserActionFactory is the abstract base class for registration. More...
 
class  UserActionCompound
 
class  UserActionCompoundFactory
 
class  UserActionManager
 Handles and manages user actions related proccesses. More...
 
class  UserActionObjectType
 The UserActionObjectType class provides the type for UserActionObject. More...
 
class  UserActionObject
 The UserActionObject class represents a single object used in UserAction. More...
 
class  EmptyStringValidator
 Checks if a given string is not empty. More...
 
class  HexadecimalValidator
 
class  StackedValidator
 Combines different validators into one. More...
 
class  UniqueStringValidator
 Checks if a given string is unique compared to other given strings. More...
 
class  Validator
 Base class for any string validator. More...
 
class  GetInTouchItem
 One item in the welcome screen's GetInTouch section. More...
 
class  GetInTouchWidget
 The welcome screen's GetInTouch section. More...
 
class  OpenFileWidget
 The welcome screen's OpenFile section. More...
 
class  RecentFileItem
 One item in the welcome screen's RecentFiles section. More...
 
class  RecentFilesWidget
 The welcome screen's RecentFiles section. More...
 
class  WelcomeScreen
 Hal's welcome screen. More...
 
class  Widget
 A QWidget customized for hal. More...
 
class  BooleanInfluencePlugin
 Plugin interface for the Boolean influence plugin. More...
 
class  CliExtensionDataflow
 
class  GuiExtensionDataflow
 
class  DataflowPlugin
 Plugin interface for the dataflow analysis plugin (DANA). More...
 
class  SolveFsmPlugin
 Plugin interface for the solve FSM plugin. More...
 
class  HGLParser
 
class  HGLParserExtension
 
class  HGLParserPlugin
 
class  HGLParserTest
 
class  HGLWriter
 
class  HGLWriterExtension
 
class  HGLWriterPlugin
 
class  HGLWriterTest
 
class  GraphAlgorithmPlugin
 Plugin interface for graph algorithms. More...
 
class  VerilogParserExtension
 
class  VerilogParserPlugin
 
class  VerilogParser
 
class  VerilogParserTest
 
class  VerilogWriterExtension
 
class  VerilogWriterPlugin
 
class  VerilogWriter
 
class  VerilogWriterTest
 
class  VHDLParserExtension
 
class  VHDLParserPlugin
 
class  VHDLParser
 
class  VHDLParserTest
 
class  LibertyParser
 
class  LibertyParserExtension
 
class  LibertyParserPlugin
 
class  LibertyParserTest
 
class  BooleanFunction
 
class  DataContainer
 
class  BooleanFunctionDecorator
 
class  BooleanFunctionNetDecorator
 
class  NetlistModificationDecorator
 
class  NetlistTraversalDecorator
 
class  SubgraphNetlistDecorator
 
class  Endpoint
 
class  NetlistEvent
 
class  GateEvent
 
class  NetEvent
 
class  ModuleEvent
 
class  GroupingEvent
 
class  EventHandler
 
class  Gate
 
class  PinChangedEvent
 
class  PinChangedEventScope
 
class  GateLibrary
 
class  GateLibraryParser
 
class  GateLibraryWriter
 
class  GateType
 
class  FFComponent
 
class  GateTypeComponent
 
class  InitComponent
 
class  LatchComponent
 
class  LUTComponent
 
class  MACComponent
 
class  RAMComponent
 
class  RAMPortComponent
 
class  StateComponent
 
class  Grouping
 
class  Module
 
class  Net
 
class  Netlist
 
class  NetlistInternalManager
 
class  NetlistParser
 
class  NetlistWriter
 
class  GroupingSerializer
 
class  BasePin
 
class  GatePin
 
class  ModulePin
 
class  PinGroup
 
class  ProjectManager
 
class  ProjectSerializer
 
class  AbstractExtensionInterface
 
class  CliExtensionInterface
 
class  AbstractFactoryProvider
 
class  FacFactoryProvider
 File-Access Factory class. More...
 
class  FacExtensionInterface
 
struct  ContextMenuContribution
 
class  GuiExtensionInterface
 
class  BasePluginInterface
 
class  UIPluginInterface
 
class  PluginParameter
 
class  RuntimeLibrary
 
class  CallbackHook
 
class  CallbackHook< R(ArgTypes...)>
 
struct  EnumStrings
 
class  Error
 
class  JsonWriteData
 
class  JsonWriteComplex
 
class  JsonWriteObject
 
class  JsonWriteArray
 
class  JsonWriteDocument
 
class  LogManager
 
class  log_gui_sink
 
class  ProgramArguments
 
class  ProgramOptions
 
class  ProjectDirectory
 
class  Result
 
struct  Token
 
class  TokenStream
 

Typedefs

typedef std::error_code error_code
 
using instantiate_plugin_function = std::unique_ptr< BasePluginInterface >(*)()
 
using lib_fn_ptr_t = void(*)()
 
using handle_ptr_t = void *
 
template<class T >
using RawPtrWrapper = std::unique_ptr< T, py::nodelete >
 

Enumerations

enum class  content_anchor { center = 0 , left = 1 , right = 2 , bottom = 3 }
 
enum class  button_orientation { horizontal = 0 , vertical_up = 1 , vertical_down = 2 }
 
enum class  ItemType { None , Module , Gate , Net }
 The ItemType enum provides the enum type to classify graphic items into Modules, Gates or Nets. The ItemType None indicates that the ItemType has not been initialized or that a function could not determine the ItemType. More...
 
enum class  AsyncSetResetBehavior {
  L , H , N , T ,
  X , undef
}
 
enum class  GateTypeProperty {
  combinational , sequential , tristate , power ,
  ground , ff , latch , ram ,
  fifo , shift_register , io , dsp ,
  pll , oscillator , scan , c_buffer ,
  c_inverter , c_and , c_nand , c_or ,
  c_nor , c_xor , c_xnor , c_aoi ,
  c_oai , c_mux , c_carry , c_half_adder ,
  c_full_adder , c_lut
}
 
enum class  PinDirection {
  none , input , output , inout ,
  internal
}
 
enum class  PinEvent {
  unknown , GroupCreate , GroupRename , GroupTypeChange ,
  GroupDirChange , GroupReorder , PinCreate , PinAssignToGroup ,
  PinRename , PinTypeChange , PinDirChange , PinReorder ,
  PinDelete , GroupDelete
}
 
enum class  PinType {
  none , power , ground , lut ,
  state , neg_state , clock , enable ,
  set , reset , data , address ,
  io_pad , select , carry , sum ,
  status , error , error_detection , done ,
  control
}
 

Functions

std::ostream & operator<< (std::ostream &os, BooleanFunction::Value v)
 
std::ostream & operator<< (std::ostream &os, const BooleanFunction &f)
 
void initialize ()
 
bool pin_event_order (const PinChangedEvent &a, const PinChangedEvent &b)
 
std::ostream & operator<< (std::ostream &os, const GateType &gate_type)
 
 PYBIND11_PLUGIN (hal_py)
 
uint qHash (const LaneIndex &ri)
 
uint qHash (const hal::NetLayoutWire &w)
 
uint qHash (const hal::NetLayoutPoint &p)
 
bool compareWaitToBeSeated (const WaitToBeSeatedEntry *a, const WaitToBeSeatedEntry *b)
 
uint qHash (const Node &n)
 
int pinGroupIndex (const Module *mod, const PinGroup< ModulePin > *pgrp)
 
int pinIndex2Row (const ModulePin *pin, int index)
 
int pinRow2Index (const ModulePin *pin, int row)
 
QString generateGroupName (const Module *mod, const ModulePin *pin)
 
void dumpPingroups (Module *m=nullptr)
 
uint qHash (PinEvent pev)
 
QColor toQColor (utils::Color c)
 
void runMain (const QString fileName, const QList< QString > plugins)
 
void myMessageOutput (QtMsgType type, const QMessageLogContext &context, const QString &msg)
 
std::unique_ptr< BasePluginInterfacecreate_plugin_instance ()
 
 PYBIND11_PLUGIN (hal_gui)
 
 PYBIND11_PLUGIN (boolean_influence)
 
 PYBIND11_PLUGIN (dataflow)
 
 PYBIND11_PLUGIN (solve_fsm)
 
 TEST_F (HGLParserTest, check_library)
 
 TEST_F (HGLWriterTest, check_library)
 
 PYBIND11_PLUGIN (graph_algorithm)
 
 TEST_F (VerilogParserTest, check_main_example)
 
 TEST_F (VerilogParserTest, check_whitespace_chaos)
 
 TEST_F (VerilogParserTest, check_pins)
 
 TEST_F (VerilogParserTest, check_pin_assignments)
 
 TEST_F (VerilogParserTest, check_parameters)
 
 TEST_F (VerilogParserTest, check_net_vectors)
 
 TEST_F (VerilogParserTest, check_zero_padding)
 
 TEST_F (VerilogParserTest, check_special_nets)
 
 TEST_F (VerilogParserTest, check_multiple_entities)
 
 TEST_F (VerilogParserTest, check_direct_assignment)
 
 TEST_F (VerilogParserTest, check_pin_group_port_assignment)
 
 TEST_F (VerilogParserTest, check_comments)
 
 TEST_F (VerilogParserTest, check_attributes)
 
 TEST_F (VerilogParserTest, check_one_line_multiple_nets)
 
 TEST_F (VerilogParserTest, check_port_dekl_in_list_of_ports)
 
 TEST_F (VerilogParserTest, check_invalid_input)
 
 TEST_F (VerilogWriterTest, check_main)
 
 TEST_F (VHDLParserTest, check_main_example)
 
 TEST_F (VHDLParserTest, check_whitespace_chaos_)
 
 TEST_F (VHDLParserTest, check_pin_assignments)
 
 TEST_F (VHDLParserTest, check_generic_map)
 
 TEST_F (VHDLParserTest, check_net_vectors)
 
 TEST_F (VHDLParserTest, check_special_nets)
 
 TEST_F (VHDLParserTest, check_multiple_entities)
 
 TEST_F (VHDLParserTest, check_direct_assignment)
 
 TEST_F (VHDLParserTest, check_pin_group_port_assignment)
 
 TEST_F (VHDLParserTest, check_comments)
 
 TEST_F (VHDLParserTest, check_attributes)
 
 TEST_F (VHDLParserTest, check_lib_prefix)
 
 TEST_F (VHDLParserTest, check_component)
 
 TEST_F (VHDLParserTest, check_invalid_input)
 
 TEST_F (LibertyParserTest, check_combinatorial)
 
 TEST_F (LibertyParserTest, check_flip_flop)
 
 TEST_F (LibertyParserTest, check_latch)
 
 TEST_F (LibertyParserTest, check_multiline_comment)
 
 TEST_F (LibertyParserTest, check_invalid_input)
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::string enum_to_string (T e)
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
enum_from_string (const std::string &str)
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
enum_from_string (const std::string &str, const T default_val) noexcept
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
bool is_valid_enum (const std::string &str) noexcept
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::ostream & operator<< (std::ostream &os, T e)
 
void base_pin_init (py::module &m)
 
void boolean_function_init (py::module &m)
 
void boolean_function_decorator_init (py::module &m)
 
void boolean_function_net_decorator_init (py::module &m)
 
void core_utils_init (py::module &m)
 
void data_container_init (py::module &m)
 
void endpoint_init (py::module &m)
 
void gate_init (py::module &m)
 
void gate_library_init (py::module &m)
 
void gate_library_manager_init (py::module &m)
 
void gate_pin_init (py::module &m)
 
void gate_pin_group_init (py::module &m)
 
void gate_type_init (py::module &m)
 
void gate_type_components_init (py::module &m)
 
void grouping_init (py::module &m)
 
void log_init (py::module &m)
 
void module_init (py::module &m)
 
void module_pin_init (py::module &m)
 
void module_pin_group_init (py::module &m)
 
void net_init (py::module &m)
 
void netlist_init (py::module &m)
 
void netlist_factory_init (py::module &m)
 
void netlist_modification_decorator_init (py::module &m)
 
void netlist_serializer_init (py::module &m)
 
void netlist_traversal_decorator_init (py::module &m)
 
void netlist_utils_init (py::module &m)
 
void netlist_writer_manager_init (py::module &m)
 
void plugin_interfaces_init (py::module &m)
 
void plugin_manager_init (py::module &m)
 
void project_manager_init (py::module &m)
 
void smt_init (py::module &m)
 
void subgraph_netlist_decorator_init (py::module &m)
 
void gate_type_lut_init (py::module &m)
 
void gate_type_sequential_init (py::module &m)
 

Variables

const char * MSG_PROJECT_ALREADY_OPEN = "You are already working on a HAL project. Close current project first."
 
QSettingsmGSettings = nullptr
 
const char * sOpenMethodsPersist [] = {"Undefined", "CreateNew", "ImportFile", "OpenProject", nullptr}
 
GUI Globals

Interface to access the globals of the gui defined in src/plugin_gui.cpp

QSettingsgGuiState = nullptr
 
ContentManagergContentManager = nullptr
 
std::shared_ptr< NetlistgNetlistOwner = nullptr
 
NetlistgNetlist = nullptr
 
NetlistRelaygNetlistRelay = nullptr
 
PluginRelaygPluginRelay = nullptr
 
SelectionRelaygSelectionRelay = nullptr
 
FileStatusManagergFileStatusManager = nullptr
 
GraphContextManagergGraphContextManager = nullptr
 
PythonContext * gPythonContext = nullptr
 
GuiApigGuiApi = nullptr
 
CommentManagergCommentManager = nullptr
 

Typedef Documentation

◆ error_code

typedef std::error_code hal::error_code

Definition at line 46 of file defines.h.

◆ handle_ptr_t

using hal::handle_ptr_t = typedef void*

Definition at line 42 of file runtime_library.h.

◆ instantiate_plugin_function

using hal::instantiate_plugin_function = typedef std::unique_ptr<BasePluginInterface> (*)()

Definition at line 156 of file plugin_interface_base.h.

◆ lib_fn_ptr_t

using hal::lib_fn_ptr_t = typedef void (*)()

Definition at line 41 of file runtime_library.h.

Enumeration Type Documentation

◆ AsyncSetResetBehavior

Defines the behavior of the gate type in case both asynchronous set and reset are active at the same time.

Enumerator

Set the internal state to 0.

Set the internal state to 1.

Do not change the internal state.

Toggle, i.e., invert the internal state.

Set the internal state to X.

undef 

Invalid behavior, used by default.

Definition at line 35 of file async_set_reset_behavior.h.

◆ content_anchor

enum hal::content_anchor
strong
Enumerator
center 
left 
right 
bottom 

Definition at line 43 of file content_layout_area.h.

◆ GateTypeProperty

enum hal::GateTypeProperty
strong

A set of available properties for a gate type.

Enumerator
combinational 

Combinational gate type.

sequential 

Sequential gate type.

tristate 

Tristate gate type.

power 

Power gate type.

ground 

Ground gate type.

ff 

Flip-flop gate type.

latch 

Latch gate type.

ram 

RAM gate type.

fifo 

FIFO gate type.

shift_register 

Shift register gate type.

io 

IO gate type.

dsp 

DSP gate type.

pll 

PLL gate type.

oscillator 

Oscillator gate type.

scan 

Scan gate type.

c_buffer 

Buffer gate type.

c_inverter 

Inverter gate type.

c_and 

AND gate type.

c_nand 

NAND gate type.

c_or 

OR gate type.

c_nor 

NOR gate type.

c_xor 

XOR gate type.

c_xnor 

XNOR gate type.

c_aoi 

AOI gate type.

c_oai 

OAI gate type.

c_mux 

MUX gate type.

c_carry 

Carry gate type.

c_half_adder 

Half adder gate type.

c_full_adder 

Full adder gate type.

c_lut 

LUT gate type.

Definition at line 33 of file gate_type_property.h.

◆ PinDirection

enum hal::PinDirection
strong

Defines the direction of a pin.

Enumerator
none 

Invalid pin.

input 

Input pin.

output 

Output pin.

inout 

Inout pin.

internal 

Internal pin.

Definition at line 35 of file pin_direction.h.

◆ PinEvent

enum hal::PinEvent
strong

Spezifies the pin_changed event type

The order of events in enum class defines the order in which events are handled.

Enumerator
unknown 
GroupCreate 
GroupRename 

new pin group created

GroupTypeChange 

pin group renamed

GroupDirChange 

changed PinType attribute of group (like data)

GroupReorder 

changed PinDirection attribute of group (like input)

PinCreate 

moved group to a new position within containing module

PinAssignToGroup 

new pin created

PinRename 

pin assigned to new group

PinTypeChange 

pin renamed

PinDirChange 

changed PinType attribute of pin (like data)

PinReorder 

changed PinDirection attribute of pin (like input)

PinDelete 

moved pin to a new position within containing group

GroupDelete 

pin deleted

group deleted

Definition at line 41 of file pin_event.h.

◆ PinType

enum hal::PinType
strong

Defines the type of a pin.

Enumerator
none 

Default pin.

power 

Power pin.

ground 

Ground pin.

lut 

Pin that generates output from LUT initialization string.

state 

Pin that generates output from internal state.

neg_state 

Pin that generates output from negated internal state.

clock 

Clock pin.

enable 

Enable pin.

set 

Set/preset pin.

reset 

Reset/clear pin.

data 

Data pin.

address 

Address pin.

io_pad 

IO pad pin.

select 

Select pin.

carry 

Carry pin.

sum 

Sum pin.

status 

Status pin.

error 

Error pin.

error_detection 

Error detection pin.

done 

Done pin.

control 

Control pin.

Definition at line 35 of file pin_type.h.

Function Documentation

◆ compareWaitToBeSeated()

bool hal::compareWaitToBeSeated ( const WaitToBeSeatedEntry a,
const WaitToBeSeatedEntry b 
)

◆ create_plugin_instance()

PLUGIN_API std::unique_ptr< BasePluginInterface > hal::create_plugin_instance ( )

Definition at line 71 of file plugin_gui.cpp.

◆ dumpPingroups()

◆ enum_from_string() [1/2]

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
T hal::enum_from_string ( const std::string &  str)

Translates a string into an enum value if possible. Throws an exception if no matching enum value is found.

Parameters
[in]str- The string.
Returns
The enum value.

Definition at line 72 of file enums.h.

References control::str, and T.

◆ enum_from_string() [2/2]

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
T hal::enum_from_string ( const std::string &  str,
const T  default_val 
)
noexcept

Translates a string into an enum value if possible. Defaults to the given default value if no matching enum value is found.

Parameters
[in]str- The string.
[in]default_val- The default value.
Returns
The enum value.

Definition at line 94 of file enums.h.

References control::str, and T.

◆ enum_to_string()

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::string hal::enum_to_string ( e)

◆ generateGroupName()

◆ initialize()

◆ is_valid_enum()

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
bool hal::is_valid_enum ( const std::string &  str)
noexcept

Checks whether a string has a valid translation into the enum type T.

Parameters
[in]str- The string.
Returns
True if string has valid translation, false otherwise.

Definition at line 114 of file enums.h.

References control::str.

◆ myMessageOutput()

void hal::myMessageOutput ( QtMsgType  type,
const QMessageLogContext context,
const QString msg 
)

◆ operator<<() [1/4]

std::ostream& hal::operator<< ( std::ostream &  os,
BooleanFunction::Value  v 
)

Output stream operator that forwards to_string of a value.

Parameters
[in]os- The stream to write to.
[in]value- The value.
Returns
A reference to output stream.

Definition at line 229 of file boolean_function.cpp.

◆ operator<<() [2/4]

std::ostream& hal::operator<< ( std::ostream &  os,
const BooleanFunction f 
)

The ostream operator that forwards to_string of a boolean function.

Parameters
[in]os- the stream to write to.
[in]f- the function.
Returns
A reference to os.

Definition at line 614 of file boolean_function.cpp.

◆ operator<<() [3/4]

std::ostream& hal::operator<< ( std::ostream &  os,
const GateType gate_type 
)

Insert the gate type object to an output stream.

Parameters
[in]os- The output stream.
[in]gate_type- The gate type.
Returns
An output stream.

Definition at line 116 of file gate_type.cpp.

◆ operator<<() [4/4]

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::ostream& hal::operator<< ( std::ostream &  os,
e 
)

Inserts the string representation of an enum value into an output stream.

Parameters
[in]os- The output stream.
[in]e- The enum value.
Returns
Reference to the provided stream.

Definition at line 135 of file enums.h.

References enum_to_string().

◆ pin_event_order()

bool hal::pin_event_order ( const PinChangedEvent a,
const PinChangedEvent b 
)

Function used by sort algorithm to organize events according to their priority.

Parameters
a- Pin changed event A
b- Pin changed event B
Returns
true if A should be handled before B, false otherwise.

Definition at line 57 of file pin_event.cpp.

◆ pinGroupIndex()

int hal::pinGroupIndex ( const Module mod,
const PinGroup< ModulePin > *  pgrp 
)

◆ pinIndex2Row()

int hal::pinIndex2Row ( const ModulePin pin,
int  index 
)

◆ pinRow2Index()

int hal::pinRow2Index ( const ModulePin pin,
int  row 
)

Definition at line 48 of file action_pingroup.cpp.

References hal::BasePin< T >::get_group().

Referenced by hal::ActionPingroup::exec().

◆ PYBIND11_PLUGIN() [1/6]

◆ PYBIND11_PLUGIN() [2/6]

◆ PYBIND11_PLUGIN() [3/6]

◆ PYBIND11_PLUGIN() [4/6]

hal::PYBIND11_PLUGIN ( hal_gui  )

Definition at line 30 of file python_gui_api_bindings.cpp.

References hal::GuiApiClasses::View::addTo(), hal::GuiApiClasses::View::createNewDirectory(), hal::GuiApiClasses::View::deleteDirectory(), hal::GuiApiClasses::View::deleteView(), hal::GuiApi::deselect(), hal::GuiApi::deselectAllItems(), hal::GuiApi::deselectGate(), hal::GuiApi::deselectModule(), hal::GuiApi::deselectNet(), hal::GuiApiClasses::View::foldModule(), QString::fromStdString(), hal::GridPlacement::gatePosition(), hal::GuiApiClasses::View::getChildDirectories(), hal::GuiApiClasses::View::getChildViews(), hal::GuiApiClasses::View::getCurrentDirectory(), hal::GuiApiClasses::View::getGates(), hal::GuiApiClasses::View::getGridPlacement(), hal::GuiApiClasses::View::getId(), hal::GuiApiClasses::View::getIds(), hal::GuiApiClasses::View::getModules(), hal::GuiApiClasses::View::getName(), hal::GuiApi::getSelectedGateIds(), hal::GuiApi::getSelectedGates(), hal::GuiApi::getSelectedItemIds(), hal::GuiApi::getSelectedItems(), hal::GuiApi::getSelectedModuleIds(), hal::GuiApi::getSelectedModules(), hal::GuiApi::getSelectedNetIds(), hal::GuiApi::getSelectedNets(), gPythonContext, hal::GuiApiClasses::View::isolateInNew(), hal::ShortestPath::module(), hal::GridPlacement::modulePosition(), hal::GuiApiClasses::View::moveDirectory(), hal::GuiApiClasses::View::moveView(), hal::GuiApiClasses::View::removeFrom(), hal::GuiApi::select(), hal::GuiApi::selectGate(), hal::GuiApi::selectModule(), hal::GuiApi::selectNet(), hal::GuiApiClasses::View::setCurrentDirectory(), hal::GridPlacement::setGatePosition(), hal::GuiApiClasses::View::setGridPlacement(), hal::GridPlacement::setModulePosition(), hal::GuiApiClasses::View::setName(), hal::GuiApiClasses::View::unfoldModule(), and hal::PythonThread::WaitForMenuSelection.

◆ PYBIND11_PLUGIN() [5/6]

◆ PYBIND11_PLUGIN() [6/6]

◆ qHash() [1/5]

uint hal::qHash ( const hal::NetLayoutPoint p)

Definition at line 21 of file net_layout_point.cpp.

References qHash().

◆ qHash() [2/5]

◆ qHash() [3/5]

uint hal::qHash ( const LaneIndex ri)

Definition at line 956 of file net_layout_junction.cpp.

Referenced by qHash().

◆ qHash() [4/5]

uint hal::qHash ( const Node n)

Definition at line 94 of file node_box.cpp.

References hal::Node::Module, and test::n.

◆ qHash() [5/5]

uint hal::qHash ( PinEvent  pev)

Definition at line 56 of file action_pingroup.cpp.

◆ runMain()

void hal::runMain ( const QString  fileName,
const QList< QString plugins 
)

◆ TEST_F() [1/38]

hal::TEST_F ( HGLParserTest  ,
check_library   
)

Testing parsing an HGL file.

Functions: parse

Definition at line 26 of file hgl_parser.cpp.

References hal::utils::get_base_directory(), hal::gate_library_manager::get_gate_library(), and control::parser.

◆ TEST_F() [2/38]

hal::TEST_F ( HGLWriterTest  ,
check_library   
)

Testing writing an HGL file.

Functions: write

Definition at line 28 of file hgl_writer.cpp.

References hal::gate_library_manager::get_gate_library(), control::parser, and hal::HGLWriter::write().

◆ TEST_F() [3/38]

hal::TEST_F ( LibertyParserTest  ,
check_combinatorial   
)

◆ TEST_F() [4/38]

◆ TEST_F() [5/38]

hal::TEST_F ( LibertyParserTest  ,
check_invalid_input   
)

Testing the correct handling of invalid input and other uncommon inputs

Functions: parse

Definition at line 359 of file liberty_parser.cpp.

References hal::utils::get_base_directory(), and hal::LibertyParser::parse().

◆ TEST_F() [6/38]

◆ TEST_F() [7/38]

hal::TEST_F ( LibertyParserTest  ,
check_multiline_comment   
)

Testing the usage of multiline comments (via '/ *' and '* /' (without space))

Functions: parse

Definition at line 300 of file liberty_parser.cpp.

References hal::utils::get_base_directory(), hal::GateType::get_pins(), input, output, hal::LibertyParser::parse(), and pins.

◆ TEST_F() [8/38]

hal::TEST_F ( VerilogParserTest  ,
check_attributes   
)

Testing the usage of attributes for gates nets and modules

Functions: parse

Definition at line 2811 of file verilog_parser.cpp.

References hal::DataContainer::get_data(), hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [9/38]

hal::TEST_F ( VerilogParserTest  ,
check_comments   
)

Testing the correct detection of single line comments (with '//') and comment blocks(with '/ *' and '* /').

Functions: parse

Definition at line 2737 of file verilog_parser.cpp.

References hal::DataContainer::get_data(), hal::Gate::get_fan_out_net(), hal::gate_library_manager::get_gate_library(), hal::Net::get_name(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [10/38]

hal::TEST_F ( VerilogParserTest  ,
check_direct_assignment   
)

Testing the correct handling of direct assignment (e.g. 'assign net_slave = net_master;'), where two (wire-)identifiers address the same Net. The Net (wire) at the left side of the expression is mapped to the Net at the right side, so only the Net with the right identifier will be created.

In Verilog, assignemts of vectors (for example: assign sig_vec_1[0:3] = sig_vec_2[0:3]) and assignments of lists of vectors and/or single nets (for example: "assign {sig_vec_1, signal_1} = {sig_vec_big[0:4]}", if |sig_vec_1|=4) are also supported.

However, logic expressions like 'assign A = B ^ C' are NOT supported.

Functions: parse

Definition at line 2002 of file verilog_parser.cpp.

References hal::Net::get_destinations(), hal::Gate::get_fan_in_net(), hal::Gate::get_fan_out_net(), hal::Endpoint::get_gate(), hal::gate_library_manager::get_gate_library(), hal::Gate::get_name(), hal::BasePin< T >::get_name(), hal::Endpoint::get_pin(), hal::Net::is_global_input_net(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [11/38]

hal::TEST_F ( VerilogParserTest  ,
check_invalid_input   
)

Testing the correct handling of invalid input

Functions: parse

Definition at line 3086 of file verilog_parser.cpp.

References hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [12/38]

hal::TEST_F ( VerilogParserTest  ,
check_main_example   
)

Testing the correct usage of the verilog parser by parse a small verilog-format string, which describes the netlist shown above.

Functions: parse

Definition at line 41 of file verilog_parser.cpp.

References hal::Net::get_destinations(), hal::gate_library_manager::get_gate_library(), hal::Gate::get_name(), hal::Net::get_name(), hal::Net::get_sources(), hal::NetlistParser::parse_and_instantiate(), and hal::utils::vectors_have_same_content().

◆ TEST_F() [13/38]

hal::TEST_F ( VerilogParserTest  ,
check_multiple_entities   
)

Testing the usage of additional entities. Entities that are used by the main entity (the last one) are recursively split in gates that are part of the Gate library, while the original entity hierarchy is represented by the Module- hierarchy of the netlist. Therefore, there can be multiple gates with the same name, so names that occur twice or more will be extended by a unique suffix.

Functions: parse

Definition at line 1510 of file verilog_parser.cpp.

References test_plugin::g, hal::DataContainer::get_data(), hal::Net::get_destinations(), hal::Gate::get_fan_in_net(), hal::Gate::get_fan_out_net(), hal::Endpoint::get_gate(), hal::gate_library_manager::get_gate_library(), hal::Module::get_gates(), hal::Gate::get_name(), hal::Module::get_name(), hal::Module::get_output_nets(), hal::Module::get_submodules(), hal::Gate::get_successor(), hal::Module::get_type(), hal::Module::is_top_module(), test::n, hal::NetlistParser::parse_and_instantiate(), hal::utils::starts_with(), and hal::utils::vectors_have_same_content().

◆ TEST_F() [14/38]

hal::TEST_F ( VerilogParserTest  ,
check_net_vectors   
)

Testing the handling of Net-vectors in dimension 1-3

Functions: parse

Definition at line 1202 of file verilog_parser.cpp.

References hal::Net::get_destinations(), hal::gate_library_manager::get_gate_library(), hal::Net::get_sources(), test::n, and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [15/38]

hal::TEST_F ( VerilogParserTest  ,
check_one_line_multiple_nets   
)

Testing the declaration of multiple wire vectors within one single line.

Functions: parse

Definition at line 2898 of file verilog_parser.cpp.

References hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [16/38]

hal::TEST_F ( VerilogParserTest  ,
check_parameters   
)

Testing the correct storage of data of the following data types: integer, floating_point, string, bit_vector (hexadecimal, decimal, octal, binary)

Functions: parse

Definition at line 1108 of file verilog_parser.cpp.

References hal::DataContainer::get_data(), hal::Gate::get_fan_in_net(), hal::gate_library_manager::get_gate_library(), hal::Net::get_name(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [17/38]

hal::TEST_F ( VerilogParserTest  ,
check_pin_assignments   
)

◆ TEST_F() [18/38]

hal::TEST_F ( VerilogParserTest  ,
check_pin_group_port_assignment   
)

Testing the port assignment of multiple pins and nets using pin groups and signal vectors

Functions: parse

Definition at line 2424 of file verilog_parser.cpp.

References hal::Gate::get_fan_in_net(), hal::Gate::get_fan_in_nets(), hal::Gate::get_fan_out_net(), hal::Gate::get_fan_out_nets(), hal::gate_library_manager::get_gate_library(), hal::Net::get_name(), net, and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [19/38]

◆ TEST_F() [20/38]

hal::TEST_F ( VerilogParserTest  ,
check_port_dekl_in_list_of_ports   
)

Testing the port declaration within the list of ports.

Functions: parse

Definition at line 2959 of file verilog_parser.cpp.

References hal::gate_library_manager::get_gate_library(), test::n, and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [21/38]

hal::TEST_F ( VerilogParserTest  ,
check_special_nets   
)

◆ TEST_F() [22/38]

hal::TEST_F ( VerilogParserTest  ,
check_whitespace_chaos   
)

The same test, as the main example, but use white spaces of different types (' ','
','\t') in various locations (or remove some unnecessary ones)

Functions: parse

Definition at line 148 of file verilog_parser.cpp.

References hal::Net::get_destinations(), hal::gate_library_manager::get_gate_library(), hal::Gate::get_name(), hal::Net::get_name(), hal::Net::get_sources(), hal::NetlistParser::parse_and_instantiate(), and hal::utils::vectors_have_same_content().

◆ TEST_F() [23/38]

hal::TEST_F ( VerilogParserTest  ,
check_zero_padding   
)

Test zero parsing and (implicit) zero padding.

Functions: parse

Definition at line 1383 of file verilog_parser.cpp.

References hal::Gate::get_fan_in_endpoints(), hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [24/38]

◆ TEST_F() [25/38]

hal::TEST_F ( VHDLParserTest  ,
check_attributes   
)

Testing the usage of user-defined attributes within the architecture and the entity header.

Functions: parse

Definition at line 2183 of file vhdl_parser.cpp.

References hal::DataContainer::get_data(), hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [26/38]

hal::TEST_F ( VHDLParserTest  ,
check_comments   
)

Testing the correct detection of single line comments (initiated with '–') within the vhdl file.

Functions: parse

Definition at line 2124 of file vhdl_parser.cpp.

References hal::DataContainer::get_data(), hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [27/38]

hal::TEST_F ( VHDLParserTest  ,
check_component   
)

NOTE: Currently Unsupported... Testing the usage of components, which should define new Gate types with custom input/output/inout pins. (currently unsupported...)

Functions: parse

Definition at line 2350 of file vhdl_parser.cpp.

◆ TEST_F() [28/38]

hal::TEST_F ( VHDLParserTest  ,
check_direct_assignment   
)

NOTE: Are multi dim assignments supported? Testing the correct handling of direct assignment (e.g. 'net_slave = net_master;'), where two (signal-)identifiers address the same Net. The Net (signal) at the left side of the expression is mapped to the Net at the right side, so only the Net with the right identifier will be created.

However, logic expressions like 'A <= B*C' are NOT supported.

Functions: parse

Definition at line 1769 of file vhdl_parser.cpp.

References hal::DataContainer::get_data(), hal::Gate::get_fan_in_net(), hal::Gate::get_fan_out_net(), hal::gate_library_manager::get_gate_library(), hal::Net::get_name(), hal::Net::is_global_input_net(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [29/38]

hal::TEST_F ( VHDLParserTest  ,
check_generic_map   
)

Testing the correct storage of data, passed by the "generic map" keyword

Functions: parse

Definition at line 876 of file vhdl_parser.cpp.

References hal::DataContainer::get_data(), hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [30/38]

hal::TEST_F ( VHDLParserTest  ,
check_invalid_input   
)

◆ TEST_F() [31/38]

hal::TEST_F ( VHDLParserTest  ,
check_lib_prefix   
)

Testing the usage and the correct handling of library prefixes

Functions: parse

Definition at line 2313 of file vhdl_parser.cpp.

References hal::gate_library_manager::get_gate_library(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [32/38]

hal::TEST_F ( VHDLParserTest  ,
check_main_example   
)

Testing the correct usage of the vhdl parser by parse a small vhdl-format string, which describes the netlist shown above.

Functions: parse

Definition at line 40 of file vhdl_parser.cpp.

References hal::Net::get_destinations(), hal::gate_library_manager::get_gate_library(), hal::Gate::get_name(), hal::Net::get_name(), hal::Net::get_sources(), hal::NetlistParser::parse_and_instantiate(), and hal::utils::vectors_have_same_content().

◆ TEST_F() [33/38]

hal::TEST_F ( VHDLParserTest  ,
check_multiple_entities   
)

Testing the usage of additional entities. Entities that are used by the main entity (the last one) are recursively split in gates that are part of the Gate library, while the original entity hierarchy is represented by the Module- hierarchy of the netlist. Therefore, there can be multiple gates with the same name, so names that occur twice or more will be extended by a unique suffix.

Functions: parse

Definition at line 1235 of file vhdl_parser.cpp.

References test_plugin::g, hal::DataContainer::get_data(), hal::Net::get_destinations(), hal::Gate::get_fan_in_net(), hal::Gate::get_fan_out_net(), hal::Endpoint::get_gate(), hal::gate_library_manager::get_gate_library(), hal::Module::get_gates(), hal::Gate::get_name(), hal::Module::get_name(), hal::Module::get_output_nets(), hal::Module::get_submodules(), hal::Gate::get_successor(), hal::Module::get_type(), hal::Module::is_top_module(), test::n, hal::NetlistParser::parse_and_instantiate(), hal::utils::starts_with(), and hal::utils::vectors_have_same_content().

◆ TEST_F() [34/38]

hal::TEST_F ( VHDLParserTest  ,
check_net_vectors   
)

Testing the handling of Net-vectors in dimension 1-3

Functions: parse

Definition at line 953 of file vhdl_parser.cpp.

References hal::Net::get_destinations(), hal::gate_library_manager::get_gate_library(), hal::Net::get_sources(), test::n, and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [35/38]

hal::TEST_F ( VHDLParserTest  ,
check_pin_assignments   
)

◆ TEST_F() [36/38]

hal::TEST_F ( VHDLParserTest  ,
check_pin_group_port_assignment   
)

Testing the port assignment of multiple pins and nets using pin groups and signal vectors

Functions: parse

Definition at line 1951 of file vhdl_parser.cpp.

References hal::Gate::get_fan_in_net(), hal::Gate::get_fan_out_net(), hal::Gate::get_fan_out_nets(), hal::gate_library_manager::get_gate_library(), hal::Net::get_name(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [37/38]

hal::TEST_F ( VHDLParserTest  ,
check_special_nets   
)

Testing assignment of '0', '1', 'Z', and 'X'.

Functions: parse

Definition at line 1149 of file vhdl_parser.cpp.

References hal::Gate::get_fan_in_net(), hal::gate_library_manager::get_gate_library(), hal::Net::get_name(), hal::Net::get_sources(), and hal::NetlistParser::parse_and_instantiate().

◆ TEST_F() [38/38]

hal::TEST_F ( VHDLParserTest  ,
check_whitespace_chaos_   
)

The same test, as the main example, but use white spaces of different types (' ','
','\t') in various locations (or remove some unnecessary ones)

Functions: parse

Definition at line 161 of file vhdl_parser.cpp.

References hal::Net::get_destinations(), hal::gate_library_manager::get_gate_library(), hal::Gate::get_name(), hal::Net::get_name(), hal::Net::get_sources(), hal::NetlistParser::parse_and_instantiate(), and hal::utils::vectors_have_same_content().

◆ toQColor()

Variable Documentation

◆ gCommentManager

CommentManager * hal::gCommentManager = nullptr

◆ gContentManager

ContentManager * hal::gContentManager = nullptr

The global ContentManager (see doc)

Definition at line 78 of file plugin_gui.cpp.

Referenced by hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addMultipleElementsSubmenu(), hal::ModuleContextMenu::addNetSubmenu(), hal::NetlistRelay::addToModuleDialog(), hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), hal::ActionAddItemsToObject::exec(), hal::ActionCreateObject::exec(), hal::ActionDeleteObject::exec(), hal::ActionFoldModule::exec(), hal::ActionRenameObject::exec(), hal::ActionSetObjectColor::exec(), hal::ActionUnfoldModule::exec(), hal::GateSelectPicker::GateSelectPicker(), hal::GraphLayouter::GraphLayouter(), hal::GraphicsItem::groupingColor(), hal::GroupingsOfItemModel::GroupingsOfItemModel(), hal::AddToModuleReceiver::handleModulesPicked(), hal::GraphGraphicsView::handleRemoveFromView(), hal::MainWindow::handleSaveAsTriggered(), hal::MainWindow::handleSaveTriggered(), hal::SelectionDetailsWidget::handleSelectionUpdate(), hal::GraphTabWidget::handleTabChanged(), hal::ModuleDialog::ModuleDialog(), hal::ModuleSelectPicker::ModuleSelectPicker(), hal::GraphContextManager::openModuleInView(), hal::StandardGraphicsGate::paint(), hal::SelectionDetailsWidget::selectionToGroupingAction(), hal::PythonSerializer::serialize(), hal::GroupingColorSerializer::serialize(), hal::PythonSerializer::serialize_control(), hal::GateSelectPicker::terminatePicker(), hal::ModuleSelectPicker::terminatePicker(), and hal::GraphContext::writeToFile().

◆ gFileStatusManager

◆ gGraphContextManager

GraphContextManager * hal::gGraphContextManager = nullptr

The global GraphContextManager (see doc)

Definition at line 85 of file plugin_gui.cpp.

Referenced by hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addNetSubmenu(), hal::GuiApiClasses::View::addTo(), hal::ContextManagerWidget::ContextManagerWidget(), hal::NetlistRelay::deleteModule(), hal::GuiApiClasses::View::deleteView(), hal::ActionAddItemsToObject::exec(), hal::ActionCreateObject::exec(), hal::ActionDeleteObject::exec(), hal::ActionFoldModule::exec(), hal::ActionMoveItem::exec(), hal::ActionMoveNode::exec(), hal::ActionRemoveItemsFromObject::exec(), hal::ActionRenameObject::exec(), hal::ActionSetObjectColor::exec(), hal::ActionUnfoldModule::exec(), hal::GuiApiClasses::View::foldModule(), hal::GuiApiClasses::View::getChildDirectories(), hal::GuiApiClasses::View::getChildViews(), hal::GuiApiClasses::View::getCurrentDirectory(), hal::GuiApiClasses::View::getGates(), hal::GuiApiClasses::View::getGridPlacement(), hal::GuiApiClasses::View::getId(), hal::GuiApiClasses::View::getIds(), hal::GuiApiClasses::View::getModules(), hal::GuiApiClasses::View::getName(), hal::GraphicsScene::GraphicsScene(), hal::GraphTabWidget::GraphTabWidget(), hal::PythonEditor::handleActionRun(), hal::ModuleWidget::handleItemDoubleClicked(), hal::ContentManager::handleOpenDocument(), hal::PythonEditor::handleThreadFinished(), hal::GuiApiClasses::View::isolateInNew(), hal::GraphGraphicsView::mouseMoveEvent(), hal::GraphGraphicsView::mousePressEvent(), hal::GuiApiClasses::View::moveDirectory(), hal::GuiApiClasses::View::moveView(), hal::GraphContextManager::openGateInView(), hal::GraphContextManager::openModuleInView(), hal::GraphContextManager::openNetEndpointsInView(), hal::StandardGraphicsGate::paint(), hal::GuiApiClasses::View::removeFrom(), hal::LayoutLockerManager::removeLock(), hal::GraphContextSerializer::restore(), hal::GraphContextManager::restoreFromFile(), hal::GraphContextSerializer::serialize(), hal::GuiApiClasses::View::setCurrentDirectory(), hal::GuiApiClasses::View::setName(), and hal::GuiApiClasses::View::unfoldModule().

◆ gGuiApi

GuiApi * hal::gGuiApi = nullptr

The global GuiApi (see doc)

Definition at line 86 of file plugin_gui.cpp.

Referenced by hal::GraphTabWidget::GraphTabWidget().

◆ gGuiState

QSettings * hal::gGuiState = nullptr

Is used to persist the list of recent files and the previously opened file in the 'open file' dialog

Definition at line 77 of file plugin_gui.cpp.

Referenced by hal::MainWindow::handleActionImportNetlist().

◆ gNetlist

Netlist * hal::gNetlist = nullptr

The netlist that is currently loaded. It is a pointer to the netlist owned by gNetlistOwner.

Definition at line 80 of file plugin_gui.cpp.

Referenced by hal::PluginParameterDialog::accept(), hal::PhysicalGraphLayouter::add(), hal::WaitToBeSeatedList::add(), hal::NodeBoxes::addBox(), hal::NetlistRelay::addChildModuleDialog(), hal::ModuleModel::addGate(), hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleModel::addModule(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleModel::addNet(), hal::ModuleContextMenu::addNetSubmenu(), hal::GuiApiClasses::View::addTo(), hal::NetlistRelay::addToModuleDialog(), hal::ModuleSelectModel::appendEntries(), hal::ModuleItem::appendExistingChildIfAny(), hal::FileManager::autosave(), hal::NetlistRelay::changeElementNameDialog(), hal::NetlistRelay::changeModuleColorDialog(), hal::NetlistRelay::changeModuleTypeDialog(), hal::FileManager::closeFile(), hal::GroupingTableModel::colorForItem(), hal::CommonSuccessorPredecessor::CommonSuccessorPredecessor(), hal::NetlistRelay::debugHandleFileOpened(), hal::FileManager::deprecatedOpenFile(), hal::GuiApi::deselectGate(), hal::GuiApi::deselectModule(), hal::GuiApi::deselectNet(), dumpPingroups(), hal::ActionAddBooleanFunction::exec(), hal::ActionAddItemsToObject::exec(), hal::ActionCreateObject::exec(), hal::ActionDeleteObject::exec(), hal::ActionFoldModule::exec(), hal::ActionPingroup::exec(), hal::ActionRemoveItemsFromObject::exec(), hal::ActionRenameObject::exec(), hal::ActionSetObjectColor::exec(), hal::ActionSetObjectData::exec(), hal::ActionSetObjectType::exec(), hal::ActionUnfoldModule::exec(), hal::ExportRegisteredFormat::exportNetlist(), hal::CoordinateFromData::fromNode(), hal::GateSelectModel::GateSelectModel(), hal::GuiApiClasses::View::getGates(), hal::SelectionDetailsIconProvider::getIcon(), hal::GraphContext::getModuleChildrenRecursively(), hal::GuiApiClasses::View::getModules(), hal::ModulePinsTreeModel::getNetFromItem(), hal::GatePinsTreeModel::getNumberOfDisplayedPins(), hal::GuiApi::getSelectedGates(), hal::GuiApi::getSelectedModules(), hal::GuiApi::getSelectedNets(), hal::GuiApiClasses::View::getValidObjects(), hal::GroupingTableEntry::GroupingTableEntry(), hal::GroupingTableModel::GroupingTableModel(), hal::SelectionDetailsWidget::groupingUnassignActionFactory(), hal::MainWindow::handleActionExport(), hal::MainWindow::handleActionGatelibraryManager(), hal::MainWindow::handleActionImportNetlist(), hal::MainWindow::handleActionNew(), hal::MainWindow::handleActionOpenProject(), hal::GatePinTree::handleContextMenuRequested(), hal::ModuleElementsTree::handleContextMenuRequested(), hal::ModulePinsTree::handleContextMenuRequested(), hal::NetEndpointTable::handleContextMenuRequested(), hal::NetModuleTable::handleContextMenuRequested(), hal::PythonGateSelectionReceiver::handleGatesPicked(), hal::ModuleTableModel::handleModulePortsChanged(), hal::ModuleTableModel::handleModuleRemoved(), hal::PythonModuleSelectionReceiver::handleModulesPicked(), hal::AddToModuleReceiver::handleModulesPicked(), hal::ContentManager::handleOpenDocument(), hal::GateSelectPicker::handleSelectionChanged(), hal::ModuleSelectPicker::handleSelectionChanged(), hal::GraphGraphicsView::handleShortestPath(), hal::ModuleWidget::handleTreeViewContextMenuRequested(), hal::FileManager::importFile(), hal::GateLibraryManager::initialize(), hal::GraphContext::isModuleUnfolded(), hal::GraphContext::isShowingNetDestination(), hal::GraphContext::isShowingNetSource(), hal::ModuleModel::moduleAssignGate(), hal::ModuleModel::moduleAssignNets(), hal::ModuleItem::ModuleItem(), hal::ModulePinsTreeModel::ModulePinsTreeModel(), hal::ModuleWidget::ModuleWidget(), hal::GatePinTree::mouseDoubleClickEvent(), hal::SelectionRelay::navigateDown(), hal::SelectionRelay::navigateUp(), hal::FileManager::newProject(), hal::NodeBox::NodeBox(), hal::GraphContext::nodeForGate(), hal::GraphContextManager::openModuleInView(), hal::GraphContextManager::openNetEndpointsInView(), hal::FileManager::openProject(), hal::PluginParameterNodeDialog::PluginParameterNodeDialog(), hal::SelectionTreeView::populate(), hal::ModuleModel::populateTree(), hal::PyCodeProvider::pyCodeGateAsyncSetResetBehavior(), hal::GraphContext::readFromFile(), hal::NetlistRelay::registerNetlistCallbacks(), hal::GroupingManagerWidget::removeElementsFromGrouping(), hal::GroupingTableModel::removeRows(), hal::DrawNetThread::run(), hal::GuiApi::selectGate(), hal::ModuleSelectExclude::selectionToString(), hal::GuiApi::selectModule(), hal::GuiApi::selectNet(), hal::GateInfoTable::setGate(), hal::GatePinTree::setGate(), hal::ModuleInfoTable::setModule(), hal::ModuleElementsTree::setModule(), hal::ModulePinsTree::setModule(), hal::ModuleItem::setModuleType(), hal::ModuleTableModel::setNet(), hal::NetInfoTable::setNet(), hal::NetEndpointTable::setNet(), hal::NetModuleTable::setNet(), hal::GraphNavigationWidget::setup(), hal::GraphContext::unfoldModule(), hal::NetlistRelay::unregisterNetlistCallbacks(), hal::ModuleShader::update(), hal::ModuleModel::updateGateName(), hal::ModuleModel::updateModuleName(), hal::ModuleModel::updateNetName(), and hal::GraphContext::updateNets().

◆ gNetlistOwner

std::shared_ptr< Netlist > hal::gNetlistOwner = nullptr

This shared_ptr contains and owns the netlist after a file was opened. To access the Netlist data structure with its functions, it is intended to use the raw pointer gNetlist instead.

Definition at line 79 of file plugin_gui.cpp.

Referenced by hal::FileManager::closeFile(), hal::FileManager::deprecatedOpenFile(), hal::FileManager::newProject(), and hal::FileManager::openProject().

◆ gNetlistRelay

◆ gPluginRelay

◆ gPythonContext

◆ gSelectionRelay

SelectionRelay * hal::gSelectionRelay = nullptr

The global SelectionRelay (see doc)

Definition at line 83 of file plugin_gui.cpp.

Referenced by hal::PluginParameterDialog::accept(), hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addMultipleElementsSubmenu(), hal::ModuleContextMenu::addNetSubmenu(), hal::NetlistRelay::addToModuleDialog(), hal::GraphicsScene::connectAll(), hal::GuiApi::deselectAllItems(), hal::GuiApi::deselectGate(), hal::GuiApi::deselectModule(), hal::GuiApi::deselectNet(), hal::GraphicsScene::disconnectAll(), hal::GraphWidget::ensureSelectionVisible(), hal::ActionSetSelectionFocus::exec(), hal::GateSelectPicker::GateSelectPicker(), hal::GuiApi::getSelectedGateIds(), hal::GuiApi::getSelectedGates(), hal::GuiApi::getSelectedModuleIds(), hal::GuiApi::getSelectedModules(), hal::GuiApi::getSelectedNetIds(), hal::GuiApi::getSelectedNets(), hal::GraphGraphicsView::GraphGraphicsView(), hal::GraphicsScene::GraphicsScene(), hal::GuiApi::GuiApi(), hal::GatePinTree::handleContextMenuRequested(), hal::ModulePinsTree::handleContextMenuRequested(), hal::GraphicsScene::handleExternSelectionChanged(), hal::GraphicsScene::handleInternSelectionChanged(), hal::AddToModuleReceiver::handleModulesPicked(), hal::GraphGraphicsView::handleRemoveFromView(), hal::GateSelectPicker::handleSelectionChanged(), hal::ModuleSelectPicker::handleSelectionChanged(), hal::ModuleWidget::handleSelectionChanged(), hal::SelectionDetailsWidget::handleSelectionUpdate(), hal::ModuleWidget::handleTreeSelectionChanged(), hal::ActionSetSelectionFocus::hasModifications(), hal::GraphWidget::keyPressEvent(), hal::ModuleSelectExclude::ModuleSelectExclude(), hal::ModuleSelectPicker::ModuleSelectPicker(), hal::ModuleWidget::ModuleWidget(), hal::StandardGraphicsGate::paint(), hal::StandardGraphicsModule::paint(), hal::SelectionTreeView::populate(), hal::GuiApi::select(), hal::GuiApi::selectGate(), hal::SelectionDetailsWidget::SelectionDetailsWidget(), hal::SelectionDetailsWidget::selectionToGroupingAction(), hal::GuiApi::selectModule(), hal::GuiApi::selectNet(), hal::DragController::set(), hal::GraphNavigationWidget::setup(), hal::GateSelectPicker::terminatePicker(), and hal::ModuleSelectPicker::terminatePicker().

◆ mGSettings

QSettings* hal::mGSettings = nullptr

Definition at line 76 of file plugin_gui.cpp.

◆ MSG_PROJECT_ALREADY_OPEN

const char* hal::MSG_PROJECT_ALREADY_OPEN = "You are already working on a HAL project. Close current project first."

◆ sOpenMethodsPersist

const char* hal::sOpenMethodsPersist[] = {"Undefined", "CreateNew", "ImportFile", "OpenProject", nullptr}