WIP: fixed the technology refactoring part

This commit is contained in:
Matthias Koefferlein 2018-06-15 00:59:38 +02:00
parent 10cfac3d42
commit 41cedf4b45
4 changed files with 14 additions and 18 deletions

View File

@ -699,14 +699,12 @@ private:
* @brief A base class for a technology component provider * @brief A base class for a technology component provider
*/ */
class DB_PUBLIC TechnologyComponentProvider class DB_PUBLIC TechnologyComponentProvider
: public tl::RegisteredClass<TechnologyComponentProvider>
{ {
public: public:
/** /**
* @brief The constructor * @brief The constructor
*/ */
TechnologyComponentProvider () TechnologyComponentProvider ()
: tl::RegisteredClass<TechnologyComponentProvider> (this)
{ {
// .. nothing yet .. // .. nothing yet ..
} }

View File

@ -79,18 +79,6 @@ extern std::string net_tracer_component_name;
// ----------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------
// NetTracerPlugin definition and implementation // NetTracerPlugin definition and implementation
class NetTracerTechnologyEditorProvider
: public lay::TechnologyEditorProvider
{
public:
virtual lay::TechnologyComponentEditor *create_editor (QWidget *parent) const
{
return new NetTracerTechComponentEditor (parent);
}
};
static tl::RegisteredClass<lay::TechnologyEditorProvider> editor_decl (new NetTracerTechnologyEditorProvider (), 13000, "NetTracerPlugin");
class NetTracerPluginDeclaration class NetTracerPluginDeclaration
: public lay::PluginDeclaration : public lay::PluginDeclaration
{ {
@ -133,6 +121,18 @@ public:
static tl::RegisteredClass<lay::PluginDeclaration> config_decl (new NetTracerPluginDeclaration (), 13000, "NetTracerPlugin"); static tl::RegisteredClass<lay::PluginDeclaration> config_decl (new NetTracerPluginDeclaration (), 13000, "NetTracerPlugin");
class NetTracerTechnologyEditorProvider
: public lay::TechnologyEditorProvider
{
public:
virtual lay::TechnologyComponentEditor *create_editor (QWidget *parent) const
{
return new NetTracerTechComponentEditor (parent);
}
};
static tl::RegisteredClass<lay::TechnologyEditorProvider> editor_decl (new NetTracerTechnologyEditorProvider (), 13000, net_tracer_component_name.c_str ());
class NetTracerTechnologyComponentProvider class NetTracerTechnologyComponentProvider
: public db::TechnologyComponentProvider : public db::TechnologyComponentProvider
{ {

View File

@ -972,7 +972,7 @@ TechSetupDialog::update_tech (db::Technology *t)
m_technology_components.insert (std::make_pair (*n, tc)); m_technology_components.insert (std::make_pair (*n, tc));
tce_widget = 0; tce_widget = 0;
for (tl::Registrar<lay::TechnologyEditorProvider>::iterator cls = tl::Registrar<lay::TechnologyEditorProvider>::begin (); cls != tl::Registrar<lay::TechnologyEditorProvider>::begin () && ! tce_widget; ++cls) { for (tl::Registrar<lay::TechnologyEditorProvider>::iterator cls = tl::Registrar<lay::TechnologyEditorProvider>::begin (); cls != tl::Registrar<lay::TechnologyEditorProvider>::end () && ! tce_widget; ++cls) {
if (cls.current_name () == tc->name ()) { if (cls.current_name () == tc->name ()) {
tce_widget = cls->create_editor (this); tce_widget = cls->create_editor (this);
} }
@ -1155,7 +1155,7 @@ TechComponentSetupDialog::TechComponentSetupDialog (QWidget *parent, db::Technol
mp_component = component->clone (); mp_component = component->clone ();
mp_editor = 0; mp_editor = 0;
for (tl::Registrar<lay::TechnologyEditorProvider>::iterator cls = tl::Registrar<lay::TechnologyEditorProvider>::begin (); cls != tl::Registrar<lay::TechnologyEditorProvider>::begin () && ! mp_editor; ++cls) { for (tl::Registrar<lay::TechnologyEditorProvider>::iterator cls = tl::Registrar<lay::TechnologyEditorProvider>::begin (); cls != tl::Registrar<lay::TechnologyEditorProvider>::end () && ! mp_editor; ++cls) {
if (cls.current_name () == mp_component->name ()) { if (cls.current_name () == mp_component->name ()) {
mp_editor = cls->create_editor (content_frame); mp_editor = cls->create_editor (content_frame);
} }

View File

@ -106,14 +106,12 @@ private:
* @brief A base class for a technology component provider * @brief A base class for a technology component provider
*/ */
class LAYBASIC_PUBLIC TechnologyEditorProvider class LAYBASIC_PUBLIC TechnologyEditorProvider
: public tl::RegisteredClass<TechnologyEditorProvider>
{ {
public: public:
/** /**
* @brief The constructor * @brief The constructor
*/ */
TechnologyEditorProvider () TechnologyEditorProvider ()
: tl::RegisteredClass<TechnologyEditorProvider> (this)
{ {
// .. nothing yet .. // .. nothing yet ..
} }