Branding/it: Difference between revisions
(Updating to match new version of source page) |
No edit summary |
||
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{Docnav/it |
{{Docnav/it |
||
|[[ |
|[[Continuous_Integration/it|Integrazione continua]] |
||
|[[Localisation/it|Localizzazione]] |
|[[Localisation/it|Localizzazione]] |
||
}} |
}} |
||
{{TOCright}} |
{{TOCright}} |
||
==Overview== |
|||
==Presentazione== |
|||
<div class="mw-translate-fuzzy"> |
|||
Questo articolo descrive la personalizzazione o '''Marchiatura''' di FreeCAD. |
|||
Marchiare (Branding) significa |
Questo articolo descrive la '''Marchiatura''' di FreeCAD. Marchiare (Branding) significa creare una propria applicazione basata su FreeCAD. La personalizzazione può riguardare solo il proprio eseguibile oppure andare dalla [[Splash screen/it|schermata iniziale]] fino alla rielaborazione completa del programma. Sulla base dell'architettura flessibile di FreeCAD è facile utilizzarlo come base per il proprio programma per scopi speciali. |
||
</div> |
|||
== Avvertimento == |
|||
Sebbene FreeCAD sia offerto gratuitamente e la comunità di FreeCAD sia felice di vedere emergere altre applicazioni basate su FreeCAD, abbiamo d'altronde visto un uso ingiusto delle informazioni contenute in questa pagina da parte di persone che semplicemente hanno rimarchiato FreeCAD in un'applicazione closed-source per trarne profitto. |
|||
⚫ | La maggior parte della marchiatura avviene in {{FileName|MainCmd.cpp}} oppure in {{FileName|MainGui.cpp}}. Questi Progetti generano i file eseguibili di FreeCAD. Per costruire il proprio marchio è sufficiente copiare i progetti Main o MainGui e dare all'eseguibile |
||
Sebbene la [[Licence/it|Licenza LGPL]] consenta di utilizzare il codice sorgente di FreeCAD in applicazioni closed-source, fornisce anche regole rigide per farlo e non consente semplicemente di prendere FreeCAD, rinominarlo e togliergli la licenza. |
|||
⚫ | |||
Se sei interessato a utilizzare FreeCAD in un'applicazione closed-source, assicurati di controllare accuratamente le implicazioni della licenza LGPL e, ancora meglio, contatta qualsiasi sviluppatore, amministratore o moderatore di FreeCAD prima di farlo. |
|||
Ecco la sezione di codice che controlla la marchiatura: |
|||
== Generale == |
|||
⚫ | La maggior parte della marchiatura avviene in {{FileName|MainCmd.cpp}} oppure in {{FileName|MainGui.cpp}}. Questi Progetti generano i file eseguibili di FreeCAD. Per costruire il proprio marchio è sufficiente copiare i progetti Main o MainGui e dare all'eseguibile il proprio nome, ad esempio, {{FileName|FooApp.exe}}. |
||
⚫ | |||
<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro --> |
<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro --> |
||
<syntaxhighlight> |
<syntaxhighlight lang="C"> |
||
int main( int argc, char ** argv ) |
|||
{ |
|||
// Name and Version of the Application |
// Name and Version of the Application |
||
App::Application::Config()["ExeName"] = "FooApp"; |
App::Application::Config()["ExeName"] = "FooApp"; |
||
App::Application::Config()["ExeVersion"] = "0.7"; |
App::Application::Config()["ExeVersion"] = "0.7"; |
||
// set the banner (for loging and console) |
// set the banner (for loging and console) |
||
App::Application::Config()["CopyrightInfo"] = sBanner; |
App::Application::Config()["CopyrightInfo"] = sBanner; |
||
App::Application::Config()["AppIcon"] = "FooAppIcon"; |
App::Application::Config()["AppIcon"] = "FooAppIcon"; |
||
App::Application::Config()["SplashScreen"] = "FooAppSplasher"; |
App::Application::Config()["SplashScreen"] = "FooAppSplasher"; |
||
App::Application::Config()["StartWorkbench"] = "Part design"; |
App::Application::Config()["StartWorkbench"] = "Part design"; |
||
App::Application::Config()["HiddenDockWindow"] = "Property editor"; |
App::Application::Config()["HiddenDockWindow"] = "Property editor"; |
||
App::Application::Config()["SplashAlignment" ] = "Bottom|Left"; |
App::Application::Config()["SplashAlignment" ] = "Bottom|Left"; |
||
App::Application::Config()["SplashTextColor" ] = "#000000"; // black |
App::Application::Config()["SplashTextColor" ] = "#000000"; // black |
||
// Inits the Application |
// Inits the Application |
||
App::Application::Config()["RunMode"] = "Gui"; |
App::Application::Config()["RunMode"] = "Gui"; |
||
App::Application::init(argc,argv); |
App::Application::init(argc,argv); |
||
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen); |
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen); |
||
Gui::Application::initApplication(); |
Gui::Application::initApplication(); |
||
Gui::Application::runApplication(); |
Gui::Application::runApplication(); |
||
App::Application::destruct(); |
App::Application::destruct(); |
||
return 0; |
return 0; |
||
} |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
Line 56: | Line 61: | ||
Le righe successive definiscono le voci di configurazione della vostra applicazione FooApp. Una descrizione di Config e delle sue voci si trova in [[Start up and Configuration/it|Avvio e Configurazione]]. |
Le righe successive definiscono le voci di configurazione della vostra applicazione FooApp. Una descrizione di Config e delle sue voci si trova in [[Start up and Configuration/it|Avvio e Configurazione]]. |
||
== Immagini == |
|||
In FreeCAD tutte le risorse immagine vengono compilate utilizzando [http://qt-project.org/doc/qt-4.8/resources.html Qt's resource system]. Pertanto è necessario scrivere un file {{FileName|.qrc}}, un file basato sul formato XML, che elenca i file di immagine sul disco, ma anche qualsiasi altro tipo di file di risorse. Per caricare all'interno dell'applicazione le risorse compilate è necessario aggiungere una riga |
In FreeCAD tutte le risorse immagine vengono compilate utilizzando [http://qt-project.org/doc/qt-4.8/resources.html Qt's resource system]. Pertanto è necessario scrivere un file {{FileName|.qrc}}, un file basato sul formato XML, che elenca i file di immagine sul disco, ma anche qualsiasi altro tipo di file di risorse. Per caricare all'interno dell'applicazione le risorse compilate è necessario aggiungere una riga |
||
{{Code|code= |
{{Code|code= |
||
Q_INIT_RESOURCE(FooApp); |
|||
}} |
}} |
||
Line 67: | Line 72: | ||
{{Code|code= |
{{Code|code= |
||
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen); |
|||
}} |
}} |
||
== Marchiatura XML == |
|||
In FreeCAD c'è anche un metodo supportato senza scrivere una funzione main() personalizzata. Per questo metodo basta scrivere un file chiamato {{FileName|branding.xml}} e metterlo nella directory di installazione di FreeCAD. Ecco un esempio con tutti i tag supportati: |
In FreeCAD c'è anche un metodo supportato senza scrivere una funzione main() personalizzata. Per questo metodo basta scrivere un file chiamato {{FileName|branding.xml}} e metterlo nella directory di installazione di FreeCAD. Ecco un esempio con tutti i tag supportati: |
||
<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro --> |
<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro --> |
||
<syntaxhighlight> |
<syntaxhighlight lang="XML"> |
||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Branding> |
|||
<Application>FooApp</Application> |
|||
<WindowTitle>Foo App in title bar</WindowTitle> |
|||
<BuildVersionMajor>1</BuildVersionMajor> |
|||
<BuildVersionMinor>0</BuildVersionMinor> |
|||
<BuildRevision>1234</BuildRevision> |
|||
<BuildRevisionDate>2014/1/1</BuildRevisionDate> |
|||
<CopyrightInfo>(c) My copyright</CopyrightInfo> |
|||
<MaintainerUrl>Foo App URL</MaintainerUrl> |
|||
<ProgramLogo>Path to logo (appears in bottom right corner)</ProgramLogo> |
|||
<WindowIcon>Path to icon file</WindowIcon> |
|||
<ProgramIcons>Path to program icons</ProgramIcons> |
|||
<SplashScreen>splashscreen.png</SplashScreen> |
|||
<SplashAlignment>Bottom|Left</SplashAlignment> |
|||
<SplashTextColor>#ffffff</SplashTextColor> |
|||
<SplashInfoColor>#c8c8c8</SplashInfoColor> |
|||
<StartWorkbench>PartDesignWorkbench</StartWorkbench> |
|||
</Branding> |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
Tutti i tag elencati sono opzionali. |
Tutti i tag elencati sono opzionali. |
||
{{Docnav/it |
{{Docnav/it |
||
|[[ |
|[[Continuous_Integration/it|Integrazione continua]] |
||
|[[Localisation/it|Localizzazione]] |
|[[Localisation/it|Localizzazione]] |
||
}} |
}} |
||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
[[Category:Developer Documentation{{#translation:}}]] |
[[Category:Developer Documentation{{#translation:}}]] |
||
{{clear}} |
Revision as of 20:54, 19 June 2022
Presentazione
Questo articolo descrive la Marchiatura di FreeCAD. Marchiare (Branding) significa creare una propria applicazione basata su FreeCAD. La personalizzazione può riguardare solo il proprio eseguibile oppure andare dalla schermata iniziale fino alla rielaborazione completa del programma. Sulla base dell'architettura flessibile di FreeCAD è facile utilizzarlo come base per il proprio programma per scopi speciali.
Avvertimento
Sebbene FreeCAD sia offerto gratuitamente e la comunità di FreeCAD sia felice di vedere emergere altre applicazioni basate su FreeCAD, abbiamo d'altronde visto un uso ingiusto delle informazioni contenute in questa pagina da parte di persone che semplicemente hanno rimarchiato FreeCAD in un'applicazione closed-source per trarne profitto.
Sebbene la Licenza LGPL consenta di utilizzare il codice sorgente di FreeCAD in applicazioni closed-source, fornisce anche regole rigide per farlo e non consente semplicemente di prendere FreeCAD, rinominarlo e togliergli la licenza.
Se sei interessato a utilizzare FreeCAD in un'applicazione closed-source, assicurati di controllare accuratamente le implicazioni della licenza LGPL e, ancora meglio, contatta qualsiasi sviluppatore, amministratore o moderatore di FreeCAD prima di farlo.
Generale
La maggior parte della marchiatura avviene in MainCmd.cpp oppure in MainGui.cpp. Questi Progetti generano i file eseguibili di FreeCAD. Per costruire il proprio marchio è sufficiente copiare i progetti Main o MainGui e dare all'eseguibile il proprio nome, ad esempio, FooApp.exe.
Le impostazioni più importanti per dare all'applicazione un nuovo aspetto possono essere fatte all'interno della funzione main(). Ecco la sezione di codice che controlla la marchiatura:
int main( int argc, char ** argv )
{
// Name and Version of the Application
App::Application::Config()["ExeName"] = "FooApp";
App::Application::Config()["ExeVersion"] = "0.7";
// set the banner (for loging and console)
App::Application::Config()["CopyrightInfo"] = sBanner;
App::Application::Config()["AppIcon"] = "FooAppIcon";
App::Application::Config()["SplashScreen"] = "FooAppSplasher";
App::Application::Config()["StartWorkbench"] = "Part design";
App::Application::Config()["HiddenDockWindow"] = "Property editor";
App::Application::Config()["SplashAlignment" ] = "Bottom|Left";
App::Application::Config()["SplashTextColor" ] = "#000000"; // black
// Inits the Application
App::Application::Config()["RunMode"] = "Gui";
App::Application::init(argc,argv);
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
Gui::Application::initApplication();
Gui::Application::runApplication();
App::Application::destruct();
return 0;
}
La prima voce Config definisce il nome del programma. Questo nome non è il nome del file eseguibile, il quale può essere modificato rinominandolo o tramite le impostazioni del compilatore, ma è il nome che viene visualizzato nella barra delle applicazioni di Windows o nell'elenco dei programmi sui sistemi Unix.
Le righe successive definiscono le voci di configurazione della vostra applicazione FooApp. Una descrizione di Config e delle sue voci si trova in Avvio e Configurazione.
Immagini
In FreeCAD tutte le risorse immagine vengono compilate utilizzando Qt's resource system. Pertanto è necessario scrivere un file .qrc, un file basato sul formato XML, che elenca i file di immagine sul disco, ma anche qualsiasi altro tipo di file di risorse. Per caricare all'interno dell'applicazione le risorse compilate è necessario aggiungere una riga
Q_INIT_RESOURCE(FooApp);
nella funzione main(). In alternativa, se si dispone di un'immagine in formato XPM è possibile includerla direttamente nella propria main.cpp e aggiungere la seguente riga per registrarla:
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
Marchiatura XML
In FreeCAD c'è anche un metodo supportato senza scrivere una funzione main() personalizzata. Per questo metodo basta scrivere un file chiamato branding.xml e metterlo nella directory di installazione di FreeCAD. Ecco un esempio con tutti i tag supportati:
<?xml version="1.0" encoding="utf-8"?>
<Branding>
<Application>FooApp</Application>
<WindowTitle>Foo App in title bar</WindowTitle>
<BuildVersionMajor>1</BuildVersionMajor>
<BuildVersionMinor>0</BuildVersionMinor>
<BuildRevision>1234</BuildRevision>
<BuildRevisionDate>2014/1/1</BuildRevisionDate>
<CopyrightInfo>(c) My copyright</CopyrightInfo>
<MaintainerUrl>Foo App URL</MaintainerUrl>
<ProgramLogo>Path to logo (appears in bottom right corner)</ProgramLogo>
<WindowIcon>Path to icon file</WindowIcon>
<ProgramIcons>Path to program icons</ProgramIcons>
<SplashScreen>splashscreen.png</SplashScreen>
<SplashAlignment>Bottom|Left</SplashAlignment>
<SplashTextColor>#ffffff</SplashTextColor>
<SplashInfoColor>#c8c8c8</SplashInfoColor>
<StartWorkbench>PartDesignWorkbench</StartWorkbench>
</Branding>
Tutti i tag elencati sono opzionali.
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub