Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/laybasic/laybasic/gsiDeclLayLayoutViewBase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1781,6 +1781,21 @@ LAYBASIC_PUBLIC Class<lay::LayoutViewBase> decl_LayoutViewBase (decl_Dispatcher,
"\n"
"This event was introduced in version 0.25.\n"
) +
gsi::event ("on_current_layer_changed", static_cast<tl::event<const lay::LayerPropertiesConstIterator &> (lay::LayoutViewBase::*)> (&lay::LayoutViewBase::current_layer_changed_event), gsi::arg ("new_layer"),
"@brief An event indicating the current layer has changed\n"
"@param new_layer The layer iterator of the new current layer\n"
"\n"
"This event is triggered after the current layer was changed - i.e. a new layer is selected in the layer list.\n"
"\n"
"This event was introduced in version 0.30.5.\n"
) +
gsi::event ("on_selected_layers_changed", static_cast<tl::Event (lay::LayoutViewBase::*)> (&lay::LayoutViewBase::selected_layers_changed_event),
"@brief An event indicating the layer selection has changed\n"
"\n"
"This event is triggered after the layer selection was changed - i.e. layers got selected or unselected.\n"
"\n"
"This event was introduced in version 0.30.5.\n"
) +
gsi::event ("on_cell_visibility_changed", static_cast<tl::Event (lay::LayoutViewBase::*)> (&lay::LayoutViewBase::cell_visibility_changed_event),
"@brief An event indicating that the visibility of one or more cells has changed\n"
"\n"
Expand Down
8 changes: 7 additions & 1 deletion src/laybasic/laybasic/layLayoutViewBase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5643,7 +5643,13 @@ LayoutViewBase::current_layer_changed_slot (const lay::LayerPropertiesConstItera
current_layer_changed_event (iter);
}

void
void
LayoutViewBase::selected_layers_changed_slot ()
{
selected_layers_changed_event ();
}

void
LayoutViewBase::add_new_layers (const LayerState &state)
{
std::vector <lay::ParsedLayerSource> actual;
Expand Down
13 changes: 13 additions & 0 deletions src/laybasic/laybasic/layLayoutViewBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -786,9 +786,17 @@ class LAYBASIC_PUBLIC LayoutViewBase :

/**
* @brief An event signalling that the current layer has changed
*
* The event is emitted when the user changes the current layer.
*/
tl::event<const lay::LayerPropertiesConstIterator &> current_layer_changed_event;

/**
* @brief An event signalling that the selected layers have changed
*
* The event is emitted when the user changes the selection.
*/
tl::Event selected_layers_changed_event;

/**
* @brief An event signalling that the visibility of some cells has changed
Expand Down Expand Up @@ -2794,6 +2802,11 @@ class LAYBASIC_PUBLIC LayoutViewBase :
*/
void current_layer_changed_slot (const lay::LayerPropertiesConstIterator &iter);

/**
* @brief Called when the layer selection changed
*/
void selected_layers_changed_slot ();

// zoom slots
void zoom_fit ();
void zoom_fit_sel ();
Expand Down
1 change: 1 addition & 0 deletions src/layui/layui/layLayerControlPanel.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2165,6 +2165,7 @@ LayerControlPanel::selection_changed (const QItemSelection &, const QItemSelecti
if (m_layer_visibility_follows_selection) {
m_do_update_visibility_dm ();
}
emit selected_layers_changed ();
}

void
Expand Down
1 change: 1 addition & 0 deletions src/layui/layui/layLayerControlPanel.h
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@ Q_OBJECT
void order_changed ();
void tab_changed ();
void current_layer_changed (const lay::LayerPropertiesConstIterator &iter);
void selected_layers_changed ();

public slots:
void cm_new_tab ();
Expand Down
6 changes: 6 additions & 0 deletions src/layview/layview/layLayoutView_qt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,11 @@ void LayoutViewSignalConnector::current_layer_changed_slot (const lay::LayerProp
mp_view->current_layer_changed_slot (iter);
}

void LayoutViewSignalConnector::selected_layers_changed_slot ()
{
mp_view->selected_layers_changed_slot ();
}

void LayoutViewSignalConnector::timer ()
{
mp_view->timer ();
Expand Down Expand Up @@ -603,6 +608,7 @@ LayoutView::init_ui (db::Manager *mgr)
QObject::connect (mp_control_panel, SIGNAL (tab_changed ()), mp_connector, SLOT (layer_tab_changed ()));
QObject::connect (mp_control_panel, SIGNAL (order_changed ()), mp_connector, SLOT (layer_order_changed ()));
QObject::connect (mp_control_panel, SIGNAL (current_layer_changed (const lay::LayerPropertiesConstIterator &)), mp_connector, SLOT (current_layer_changed_slot (const lay::LayerPropertiesConstIterator &)));
QObject::connect (mp_control_panel, SIGNAL (selected_layers_changed ()), mp_connector, SLOT (selected_layers_changed_slot ()));

mp_toolbox_frame = new QFrame (0);
mp_toolbox_frame->setObjectName (QString::fromUtf8 ("lt_frame"));
Expand Down
1 change: 1 addition & 0 deletions src/layview/layview/layLayoutView_qt.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ public slots:
void active_library_changed (int index);
void side_panel_destroyed ();
void current_layer_changed_slot (const lay::LayerPropertiesConstIterator &iter);
void selected_layers_changed_slot ();
void layer_tab_changed ();
void layer_order_changed ();
void select_cell_dispatch (const cell_path_type &path, int cellview_index);
Expand Down
Loading