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
*/
class DB_PUBLIC TechnologyComponentProvider
: public tl::RegisteredClass<TechnologyComponentProvider>
{
public:
/**
* @brief The constructor
*/
TechnologyComponentProvider ()
: tl::RegisteredClass<TechnologyComponentProvider> (this)
{
// .. nothing yet ..
}

View File

@ -79,18 +79,6 @@ extern std::string net_tracer_component_name;
// -----------------------------------------------------------------------------------
// 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
: public lay::PluginDeclaration
{
@ -133,6 +121,18 @@ public:
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
: public db::TechnologyComponentProvider
{

View File

@ -972,7 +972,7 @@ TechSetupDialog::update_tech (db::Technology *t)
m_technology_components.insert (std::make_pair (*n, tc));
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 ()) {
tce_widget = cls->create_editor (this);
}
@ -1155,7 +1155,7 @@ TechComponentSetupDialog::TechComponentSetupDialog (QWidget *parent, db::Technol
mp_component = component->clone ();
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 ()) {
mp_editor = cls->create_editor (content_frame);
}

View File

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