Branding/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
This article describes the '''Branding''' of FreeCAD. Branding means to start your own application on base of FreeCAD. That can be only your own executable or [[Splash screen|splash screen]] till a complete reworked program. On base of the flexible architecture of FreeCAD it's easy to use it as base for your own special purpose program.
<div class="mw-translate-fuzzy">
{{docnav/it
|[[Continuous Integration/it|Integrazione continua]]
|[[Localisation/it|Localizzazione]]
}}
</div>
{{TOCright}}
<div class="mw-translate-fuzzy">
Questo articolo descrive la personalizzazione o '''Marchiatura''' di FreeCAD.

Marchiare (Branding) significa avviare la realizzazione di 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.
</div>

==== 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 un nome diverso, ad esempio, {{FileName|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:
=== General ===
Most of the branding is done in the '''MainCmd.cpp'' or ''MainGui.cpp'''. These Projects generate the executable files of FreeCAD. To make your own Brand just copy the Main or MainGui projects and give the executable an own name, e.g. FooApp.exe.
The most important settings for a new look can be made in one place in the main() function. Here is the code section that controls the branding:


<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<syntaxhighlight>
<syntaxhighlight>
int main( int argc, char ** argv )
int main( int argc, char ** argv )
Line 34: Line 51:
}
}
</syntaxhighlight>
</syntaxhighlight>
The first Config entry defines the program name. This is not the executable name, which can be changed by renaming or by compiler settings, but the name that is displayed in the task bar on windows or in the program list on Unix systems.


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.
The next lines define the Config entries of your FooApp Application. A description of the Config and its entries you find in [[Start up and Configuration]].


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]].
=== Images ===

Image resources are compiled into FreeCAD using [http://qt-project.org/doc/qt-4.8/resources.html Qt's resource system]. Therefore you have to write a .qrc file, an XML-based file format that lists image files on the disk but also any other kind of resource files. To load the compiled resources inside the application you have to add a line
==== Immagini ====
<syntaxhighlight>

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=
Q_INIT_RESOURCE(FooApp);
Q_INIT_RESOURCE(FooApp);
}}
</syntaxhighlight>

into the main() function. Alternatively, if you have an image in XPM format you can directly include it into your main.cpp and add the following line to register it:
nella funzione main(). In alternativa, se si dispone di un'immagine in formato XPM è possibile includerla direttamente nella propria {{FileName|main.cpp}} e aggiungere la seguente riga per registrarla:
<syntaxhighlight>

{{Code|code=
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
}}
</syntaxhighlight>

=== Branding XML ===
=== Branding XML ===
In FreeCAD there is also a method supported without writing a customized main() function. For this method you must write a file name called branding.xml and put it into the installation directory of FreeCAD. Here is an example with all supported tags:
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 -->
<syntaxhighlight>
<syntaxhighlight>
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
Line 70: Line 95:
</Branding>
</Branding>
</syntaxhighlight>
</syntaxhighlight>
All of the listed tags are optional.


Tutti i tag elencati sono opzionali.
{{docnav|Testing|Localisation}}

<div class="mw-translate-fuzzy">
{{docnav/it
|[[Continuous Integration/it|Integrazione continua]]
|[[Localisation/it|Localizzazione]]
}}
</div>

{{Userdocnavi{{#translation:}}}}

[[Category:Developer Documentation{{#translation:}}]]


[[Category:Developer Documentation]]
{{clear}}
{{clear}}
<languages/>

Revision as of 21:22, 20 February 2020

Questo articolo descrive la personalizzazione o Marchiatura di FreeCAD.

Marchiare (Branding) significa avviare la realizzazione di 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.

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 un nome diverso, 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);

Branding 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.