Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

WIP: Generic wizard plugin

(1/3) > >>

mandrav:

--- Quote from: MortenMacFly on February 21, 2006, 08:50:06 am ---...just being curious: What does "WIP" mean?! "Wery Interesting Plugin"?! ;-)

--- End quote ---

LOL :lol:

Since you 're curious, it's a generic wizard plugin for new projects.
It's completely data-driven using a combination of scripts and XRCs. Being scripted, allows it to have logic. For example, in the script for new wxwidgets projects, it detects if you have a matching configuration and, if not, it tells you beforehand that the new project is not going to build ;)
Actually, it could completely replace the current new project dialog and be part of the SDK as opposed to being a plugin. But there are some reasons that this wouldn't be beneficial, so it's not decided yet and is developed as a plugin currently.

Curiosity satisfied now? ;)

takeshimiya:

--- Quote from: mandrav on February 21, 2006, 09:23:49 am ---It's completely data-driven using a combination of scripts and XRCs.

--- End quote ---

Exactly what I wanted :D

So it should be possible to create the XRC with wxSmith, and write the scripts using AngelScript, right?
If so, it could handle only the widgets registered, or how it's the process?

Michael:

--- Quote from: mandrav on February 21, 2006, 09:23:49 am ---
--- Quote from: MortenMacFly on February 21, 2006, 08:50:06 am ---...just being curious: What does "WIP" mean?! "Wery Interesting Plugin"?! ;-)

--- End quote ---

LOL :lol:

Since you 're curious, it's a generic wizard plugin for new projects.
It's completely data-driven using a combination of scripts and XRCs. Being scripted, allows it to have logic. For example, in the script for new wxwidgets projects, it detects if you have a matching configuration and, if not, it tells you beforehand that the new project is not going to build ;)
Actually, it could completely replace the current new project dialog and be part of the SDK as opposed to being a plugin. But there are some reasons that this wouldn't be beneficial, so it's not decided yet and is developed as a plugin currently.

Curiosity satisfied now? ;)

--- End quote ---

Mine yes :D.

Wery....oops....Very interesting plugin anyway :D.

Best wishes,
Michael

mandrav:
As usual, the clarification produced more questions :P
Here. Attached is everything needed for the new console project wizard. Have a look, it's over-documented ;)

[attachment deleted by admin]

takeshimiya:
Seems almost extremely easy. :D

Few things to point out:
-The scripts will need _("") macros to get i18n. I don't know how easy will be it to do with AngelScript in middle. HeroMyth?
-Languages other than C/C++, two options: having different wizards for each language, or having all in one wizard.

On "having all in one wizard" option, this for example:


--- Code: (cpp) ---    if (IsCpp)
    {
        // C++ source file
        result = "console/cpp";
    }
    else
    {
        // C source file
        result = "console/c";
    }
--- End code ---

can become:


--- Code: (cpp) ---    if( Wizard.GetLanguageID() == "cpp")
        result = "console/cpp"; // C++ source file
       
    if( Wizard.GetLanguageID() == "c")
        result = "console/c"; // C source file
       
    if( Wizard.GetLanguageID() == "d")
        result = "console/d"; // D source file

    if( Wizard.GetLanguageID() == "fortran")
        result = "console/fortran"; // Fortran source file

    if( Wizard.GetLanguageID() == "python")
        result = "console/python"; // Python source file
--- End code ---

Actually it would make more sense, as a lot of languages can share the Wizard (Console, wxWidgets projects, etc).

There are more things, but that suffices. :)

Navigation

[0] Message Index

[#] Next page

Go to full version