HAL
HAL Gui
Collaboration diagram for HAL Gui:

Modules

 Graph Widget
 
 Python
 
 Docking System
 
 Logging System
 
 Settings System
 
 User Actions
 
 File Management
 
 Utility Widgets
 
 Unused
 

Classes

class  hal::Action
 Provides an interface for triggerable functionality that can be inserted into widgets and also connected to shortcuts. More...
 
class  hal::BaseTreeModel
 The BaseTreeModel implements generic standard functions of a tree model. More...
 
class  hal::CommentEntry
 The CommentEntry class encapsulated information related to a comment. More...
 
class  hal::ContentLayoutArea
 Manages the layout of all ContentWidgets. More...
 
class  hal::ContentManager
 Manages all ContentWidgets. More...
 
class  hal::ContentWidget
 Abstract class for Widgets within HAL's ContentArea. More...
 
class  hal::ExportRegisteredFormat
 Utility class to export (save) different hal files. More...
 
class  hal::LabeledFrame
 A QFrame with a label. More...
 
class  hal::GatelibraryTableModel
 A model to display loaded gatelibraries. More...
 
class  hal::GuiApi
 Interface to interact with the gui itself. More...
 
class  hal::Node
 The Node class object represents a module or a gate. More...
 
class  hal::SpecialLogContentManager
 Logs the python editor and gui screenshots. More...
 
class  hal::InputDialog
 Generic input dialog for user input. More...
 
class  hal::LabelButton
 Adds button functionality to a QLabel. More...
 
class  hal::AboutDialog
 A dialog that displays the Qt version and our open source license. More...
 
class  hal::MainWindow
 The top level widget. More...
 
class  hal::ModuleItem
 An item in the ModuleModel. More...
 
class  hal::ModuleModel
 A model for displaying multiple netlist elements. More...
 
class  hal::ModuleProxyModel
 Enables filtering in the ModuleModel. More...
 
class  hal::NetlistRelay
 Connects the hal-core events to the gui. More...
 
class  hal::Overlay
 The Overlay overlays its parent. More...
 
class  hal::WidgetOverlay
 Container for a QWidget that overlays another one. More...
 
class  hal::PinItem
 An item in the PinModel. More...
 
class  hal::PluginRelay
 Forwards plugin related events from the core to the gui. More...
 
class  hal::Searchbar
 A QFrame with a QLineEdit that can be used to input a substring to search for. More...
 
class  hal::GatePinsTreeModel
 A model to display the pins of a gate. More...
 
class  hal::GroupingsOfItemModel
 A TableModel to store all Groupings that contain a specified Gate, Net or Module. More...
 
class  hal::FilterElementsProxyModel
 Enables filtering of nets or gates in the ModuleModel. More...
 
class  hal::EndpointTableModel
 A model to display endpoint data. More...
 
class  hal::ModuleTableModel
 A model to display module data. More...
 
class  hal::SelectionRelay
 Stores and manages the gui's selection state. More...
 
class  hal::Splitter
 A QSplitter that can be checked if it is unused or not. More...
 
class  hal::SvgIconEngine
 Creates Icons from svg data. More...
 
class  hal::Toolbar
 Toolbar for all ContentFrames and ContentWidgets. More...
 
class  hal::ActionAddBooleanFunction
 Either adds a new function or changes an exisiting function of a given gate. More...
 
class  hal::EmptyStringValidator
 Checks if a given string is not empty. More...
 
class  hal::StackedValidator
 Combines different validators into one. More...
 
class  hal::UniqueStringValidator
 Checks if a given string is unique compared to other given strings. More...
 
class  hal::Validator
 Base class for any string validator. More...
 
class  hal::GetInTouchItem
 One item in the welcome screen's GetInTouch section. More...
 
class  hal::GetInTouchWidget
 The welcome screen's GetInTouch section. More...
 
class  hal::OpenFileWidget
 The welcome screen's OpenFile section. More...
 
class  hal::RecentFileItem
 One item in the welcome screen's RecentFiles section. More...
 
class  hal::RecentFilesWidget
 The welcome screen's RecentFiles section. More...
 
class  hal::WelcomeScreen
 Hal's welcome screen. More...
 
class  hal::Widget
 A QWidget customized for hal. More...
 

Enumerations

enum class  hal::ItemType { hal::None , hal::Module , hal::Gate , hal::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...
 

Functions

void hal::gui_utility::ensureOnScreen (QWidget *w)
 (Fully) displays the widget by moving it. More...
 
 Q_DECLARE_METATYPE (u32) namespace hal
 

Detailed Description

The Gui is a huge plugin that provides a graphical user interface to load and work with Netlists. If compiled it can be started using the '-g'/'–gui' flag. To learn more about the GUI and its structure make sure to check out our GitHub Wiki!

Enumeration Type Documentation

◆ ItemType

enum hal::ItemType
strong

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.

Enumerator
None 
Module 
Gate 
Net 

Definition at line 44 of file gui_def.h.

Function Documentation

◆ ensureOnScreen()

void hal::gui_utility::ensureOnScreen ( QWidget w)

(Fully) displays the widget by moving it.

Tries to display the given widget completely on the screen (e.g. when its partially out of bounds). It checks the geometry (size) of the screen and the widget and moves the widget accordingly, prioritizing the widget's top side and left side to be seen.

Parameters
w-The widget to be (fully) displayed on the screen.

Definition at line 11 of file geometry.cpp.

References QDesktopWidget::availableGeometry(), QApplication::desktop(), QWidget::geometry, and QWidget::move().

◆ Q_DECLARE_METATYPE()

Q_DECLARE_METATYPE ( u32  )

Returns command line interface options

Returns
The program options description.

PluginGui is a huge plugin that provides a graphical user interface to load and work with netlists. If compiled it can be started using the '-g'/'–gui' flag.

Returns the plugin name: 'hal_gui'

Returns
the plugin name

Returns the current version of the plugin.

Returns
the current version number of the plugin

Short description of plugin.

Returns
a short description of plugin

Adds all gui related channels to the LogManager.

Executes the gui plugin.

Parameters
args- The given program arguments.
Returns
True on success, False otherwise.

Call to block layouter.

Can be enabled multiple times, but each enable must be match by disable to remove the lock.

Parameters
[in]enableEnable lock on true, disable on false

Definition at line 33 of file plugin_gui.h.

References control::args, hal::netlist_parser_manager::get_cli_options(), and QList::push_back().