HAL
action_unfold_module.h
Go to the documentation of this file.
1
// MIT License
2
//
3
// Copyright (c) 2019 Ruhr University Bochum, Chair for Embedded Security. All Rights reserved.
4
// Copyright (c) 2019 Marc Fyrbiak, Sebastian Wallat, Max Hoffmann ("ORIGINAL AUTHORS"). All rights reserved.
5
// Copyright (c) 2021 Max Planck Institute for Security and Privacy. All Rights reserved.
6
// Copyright (c) 2021 Jörn Langheinrich, Julian Speith, Nils Albartus, René Walendy, Simon Klix ("ORIGINAL AUTHORS"). All Rights reserved.
7
//
8
// Permission is hereby granted, free of charge, to any person obtaining a copy
9
// of this software and associated documentation files (the "Software"), to deal
10
// in the Software without restriction, including without limitation the rights
11
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
// copies of the Software, and to permit persons to whom the Software is
13
// furnished to do so, subject to the following conditions:
14
//
15
// The above copyright notice and this permission notice shall be included in all
16
// copies or substantial portions of the Software.
17
//
18
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
// SOFTWARE.
25
26
#pragma once
27
#include "
user_action.h
"
28
29
namespace
hal
30
{
31
class
Module
;
32
class
GraphContext;
33
42
class
ActionUnfoldModule
:
public
UserAction
43
{
44
u32
mContextId;
45
PlacementHint
mPlacementHint;
46
public
:
52
ActionUnfoldModule
(
u32
moduleId = 0);
53
QString
tagname
()
const override
;
54
bool
exec
()
override
;
55
61
void
setContextId
(
u32
id
) { mContextId =
id
; }
62
void
setObject
(
const
UserActionObject
& obj)
override
;
63
69
void
setPlacementHint
(
PlacementHint
hint) { mPlacementHint = hint; }
70
private
:
71
void
execInternal(
Module
* m,
GraphContext
* currentContext);
72
};
73
78
class
ActionUnfoldModuleFactory
:
public
UserActionFactory
79
{
80
public
:
81
ActionUnfoldModuleFactory
();
82
UserAction
*
newAction
()
const
;
83
static
ActionUnfoldModuleFactory
*
sFactory
;
84
};
85
}
hal::ActionUnfoldModuleFactory
UserActionFactory for ActionUnfoldModule.
Definition:
action_unfold_module.h:79
hal::ActionUnfoldModuleFactory::newAction
UserAction * newAction() const
Definition:
action_unfold_module.cpp:17
hal::ActionUnfoldModuleFactory::ActionUnfoldModuleFactory
ActionUnfoldModuleFactory()
Definition:
action_unfold_module.cpp:12
hal::ActionUnfoldModuleFactory::sFactory
static ActionUnfoldModuleFactory * sFactory
Definition:
action_unfold_module.h:83
hal::ActionUnfoldModule
Unfolds a module.
Definition:
action_unfold_module.h:43
hal::ActionUnfoldModule::ActionUnfoldModule
ActionUnfoldModule(u32 moduleId=0)
Definition:
action_unfold_module.cpp:27
hal::ActionUnfoldModule::setPlacementHint
void setPlacementHint(PlacementHint hint)
Definition:
action_unfold_module.h:69
hal::ActionUnfoldModule::exec
bool exec() override
Definition:
action_unfold_module.cpp:51
hal::ActionUnfoldModule::setObject
void setObject(const UserActionObject &obj) override
Definition:
action_unfold_module.cpp:34
hal::ActionUnfoldModule::tagname
QString tagname() const override
Definition:
action_unfold_module.cpp:22
hal::ActionUnfoldModule::setContextId
void setContextId(u32 id)
Definition:
action_unfold_module.h:61
hal::GraphContext
Logical container for modules, gates, and nets.
Definition:
graph_context.h:55
hal::Module
Definition:
module.h:66
hal::PlacementHint
The PlacementHint class object provides hints for the layouter how new box objects are placed on a vi...
Definition:
gui_def.h:196
hal::UserActionFactory
The UserActionFactory is the abstract base class for registration.
Definition:
user_action.h:225
hal::UserAction
The UserAction class is the abstract base class for user interactions.
Definition:
user_action.h:57
hal::UserActionObject
The UserActionObject class represents a single object used in UserAction.
Definition:
user_action_object.h:79
hal::ItemType::Module
@ Module
hal
Definition:
parser_liberty.cpp:10
u32
quint32 u32
Definition:
net_layout_point.h:40
id
i32 id
Definition:
netlist_serializer.cpp:56
QString
user_action.h
plugins
gui
include
gui
user_action
action_unfold_module.h
Generated on Fri Feb 14 2025 14:22:41 for HAL by
1.9.1