HAL
action_set_object_color.cpp
Go to the documentation of this file.
1
#include "
gui/user_action/action_set_object_color.h
"
2
#include "
gui/grouping/grouping_manager_widget.h
"
3
#include "
gui/grouping/grouping_table_model.h
"
4
#include "
gui/module_model/module_color_manager.h
"
5
#include "
gui/gui_globals.h
"
6
7
namespace
hal
8
{
9
ActionSetObjectColorFactory::ActionSetObjectColorFactory
()
10
:
UserActionFactory
(
"SetObjectColor"
) {;}
11
12
ActionSetObjectColorFactory
*
ActionSetObjectColorFactory::sFactory
=
new
ActionSetObjectColorFactory
;
13
14
UserAction
*
ActionSetObjectColorFactory::newAction
()
const
15
{
16
return
new
ActionSetObjectColor
;
17
}
18
19
QString
ActionSetObjectColor::tagname
()
const
20
{
21
return
ActionSetObjectColorFactory::sFactory
->
tagname
();
22
}
23
24
void
ActionSetObjectColor::addToHash
(
QCryptographicHash
& cryptoHash)
const
25
{
26
cryptoHash.
addData
((
char
*)(&mColor),
sizeof
(mColor));
27
}
28
29
void
ActionSetObjectColor::writeToXml
(
QXmlStreamWriter
& xmlOut)
const
30
{
31
xmlOut.
writeTextElement
(
"color"
, mColor.
name
(
QColor::HexArgb
));
32
}
33
34
void
ActionSetObjectColor::readFromXml
(
QXmlStreamReader
& xmlIn)
35
{
36
while
(xmlIn.
readNextStartElement
())
37
{
38
if
(xmlIn.
name
() ==
"color"
)
39
mColor =
QColor
(xmlIn.
readElementText
());
40
}
41
}
42
43
bool
ActionSetObjectColor::exec
()
44
{
45
QColor
oldColor;
46
47
switch
(
mObject
.
type
())
48
{
49
case
UserActionObjectType::Module
:
50
oldColor =
gNetlistRelay
->
getModuleColorManager
()->
setModuleColor
(
mObject
.
id
(),mColor);
51
52
// Set module color will fire moduleColorChanged event.
53
// However, gGraphContextManager is not in the receiver list and has to be updated manually
54
gGraphContextManager
->
handleModuleColorChanged
(
gNetlist
->
get_module_by_id
(
mObject
.
id
()));
55
break
;
56
case
UserActionObjectType::Grouping
:
57
oldColor =
gContentManager
->
getGroupingManagerWidget
()->
getModel
()->
58
recolorGrouping(
mObject
.
id
(), mColor);
59
break
;
60
default
:
61
return
false
;
62
}
63
if
(oldColor.
isValid
())
64
{
65
ActionSetObjectColor
* act =
new
ActionSetObjectColor
(oldColor);
66
act->
setObject
(
mObject
);
67
mUndoAction
= act;
68
}
69
70
return
UserAction::exec
();
71
}
72
}
action_set_object_color.h
hal::ActionSetObjectColorFactory
UserActionFactory for ActionSetObjectColor.
Definition:
action_set_object_color.h:62
hal::ActionSetObjectColorFactory::ActionSetObjectColorFactory
ActionSetObjectColorFactory()
Definition:
action_set_object_color.cpp:9
hal::ActionSetObjectColorFactory::sFactory
static ActionSetObjectColorFactory * sFactory
Definition:
action_set_object_color.h:66
hal::ActionSetObjectColorFactory::newAction
UserAction * newAction() const
Definition:
action_set_object_color.cpp:14
hal::ActionSetObjectColor
Recolors the object.
Definition:
action_set_object_color.h:41
hal::ActionSetObjectColor::exec
bool exec() override
Definition:
action_set_object_color.cpp:43
hal::ActionSetObjectColor::writeToXml
void writeToXml(QXmlStreamWriter &xmlOut) const override
Definition:
action_set_object_color.cpp:29
hal::ActionSetObjectColor::readFromXml
void readFromXml(QXmlStreamReader &xmlIn) override
Definition:
action_set_object_color.cpp:34
hal::ActionSetObjectColor::addToHash
void addToHash(QCryptographicHash &cryptoHash) const override
Definition:
action_set_object_color.cpp:24
hal::ActionSetObjectColor::ActionSetObjectColor
ActionSetObjectColor(const QColor &col=QColor())
Definition:
action_set_object_color.h:49
hal::ActionSetObjectColor::tagname
QString tagname() const override
Definition:
action_set_object_color.cpp:19
hal::ContentManager::getGroupingManagerWidget
GroupingManagerWidget * getGroupingManagerWidget()
Definition:
content_manager.cpp:149
hal::GraphContextManager::handleModuleColorChanged
void handleModuleColorChanged(Module *m) const
Definition:
graph_context_manager.cpp:354
hal::GroupingManagerWidget::getModel
GroupingTableModel * getModel() const
Definition:
grouping_manager_widget.h:156
hal::ModuleColorManager::setModuleColor
QColor setModuleColor(u32 id, const QColor &col)
Definition:
module_color_manager.cpp:32
hal::Netlist::get_module_by_id
Module * get_module_by_id(u32 module_id) const
Definition:
netlist.cpp:613
hal::NetlistRelay::getModuleColorManager
ModuleColorManager * getModuleColorManager() const
Definition:
netlist_relay.cpp:93
hal::UserActionFactory
The UserActionFactory is the abstract base class for registration.
Definition:
user_action.h:225
hal::UserActionFactory::tagname
QString tagname() const
Definition:
user_action.h:242
hal::UserAction
The UserAction class is the abstract base class for user interactions.
Definition:
user_action.h:57
hal::UserAction::mUndoAction
UserAction * mUndoAction
Definition:
user_action.h:186
hal::UserAction::exec
virtual bool exec()
Definition:
user_action.cpp:23
hal::UserAction::setObject
virtual void setObject(const UserActionObject &obj)
Definition:
user_action.cpp:32
hal::UserAction::mObject
UserActionObject mObject
Definition:
user_action.h:183
hal::UserActionObject::id
u32 id() const
Definition:
user_action_object.h:97
hal::UserActionObject::type
UserActionObjectType::ObjectType type() const
Definition:
user_action_object.h:107
hal::UserActionObjectType::Module
@ Module
Definition:
user_action_object.h:51
hal::UserActionObjectType::Grouping
@ Grouping
Definition:
user_action_object.h:54
grouping_manager_widget.h
grouping_table_model.h
gui_globals.h
module_color_manager.h
hal
Definition:
parser_liberty.cpp:10
hal::gContentManager
ContentManager * gContentManager
Definition:
plugin_gui.cpp:78
hal::gGraphContextManager
GraphContextManager * gGraphContextManager
Definition:
plugin_gui.cpp:85
hal::gNetlist
Netlist * gNetlist
Definition:
plugin_gui.cpp:80
hal::gNetlistRelay
NetlistRelay * gNetlistRelay
Definition:
plugin_gui.cpp:81
QColor
QColor::HexArgb
HexArgb
QColor::isValid
bool isValid() const const
QColor::name
QString name() const const
QCryptographicHash
QCryptographicHash::addData
void addData(const char *data, int length)
QString
QXmlStreamReader
QXmlStreamReader::name
QStringRef name() const const
QXmlStreamReader::readElementText
QString readElementText(QXmlStreamReader::ReadElementTextBehaviour behaviour)
QXmlStreamReader::readNextStartElement
bool readNextStartElement()
QXmlStreamWriter
QXmlStreamWriter::writeTextElement
void writeTextElement(const QString &qualifiedName, const QString &text)
plugins
gui
src
user_action
action_set_object_color.cpp
Generated on Fri Feb 14 2025 14:22:43 for HAL by
1.9.1