Branding/it: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Updating to match new version of source page)
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
== Marchiatura - Personalizzazione ==
<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.
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.
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>

L'architettura flessibile di FreeCAD è facile da usare come base per realizzare dei programmi personali per impieghi particolari.

___TOC___


==== Generale ====
==== 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.
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().
Le impostazioni più importanti per dare all'applicazione un nuovo aspetto possono essere fatte all'interno della funzione main().
Line 17: Line 21:
Ecco la sezione di codice che controlla la marchiatura:
Ecco la sezione di codice che controlla la marchiatura:


<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<code cpp>
<syntaxhighlight>
int main( int argc, char ** argv )
int main( int argc, char ** argv )
{
{
// Name and Version of the Application
// Name and Version of the Application
App::Application::Config()["ExeName"] = "FooApp.exe";
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()["ConsoleBanner"] = sBanner;
App::Application::Config()["CopyrightInfo"] = sBanner;
App::Application::Config()["AppIcon"] = "FCIcon";
App::Application::Config()["AppIcon"] = "FooAppIcon";
App::Application::Config()["SplashPicture"] = "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";
Line 45: Line 50:
return 0;
return 0;
}
}
</syntaxhighlight>
</code>


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 su Windows o nell'elenco dei programmi sui sistemi Unix.
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 [[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]].
Line 53: Line 58:
==== Immagini ====
==== 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. Questo riduce il tempo di caricamento e mantiene l'installazione compatta.


{{Code|code=
Le immagini sono incluse nel formato XPM il quale è fondamentalmente un formato di testo che utilizza la sintassi C.
Q_INIT_RESOURCE(FooApp);
}}


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:
Praticamente è possibile disegnare queste immagini con un editor di testo, ma è più comodo creare le immagini con il proprio programma di grafica preferito e convertirle successivamente in formato XPM.


{{Code|code=
Il programma di immagini di GNU [http://gimp.org/ Gimp] può salvare in file XPM.

Per la conversione si può utilizzare lo strumento ''[[ImageConv/it|ImageConv/it]]'' che è incluso in FreeCAD. Lo trovate in:

/trunk/src/Tools/ImageTools/ImageConv

Oltre a convertire le immagini, ImageConv può anche aggiornare automaticamente il file ''BmpFactoryIcons.cpp'', dove sono registrate le immagini. Così come si vede nel seguente esempio il suo utilizzo tipico è molto semplice:

ImageConv -i InputImage.png -o OutputImage.xpm

Questo comando converte il file ''InputImage.png'' in formato XPM e scrive il risultato in un file ''OutputImage.xpm''.

La riga:
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
}}


=== Branding XML ===
include quindi nella funzione main() l'immagine nel BitmapFactory di FreeCAD.
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:

===== Icone =====

L'icona principale dell'applicazione ''FCIcon'' che appare nei titoli delle finestre e in altri luoghi è definita in:

/trunk/src/Gui/Icons/images.cpp

e inizia con la riga

<nowiki>static const char *FCIcon[]={</nowiki>

Sostituitela con la propria icona preferita, ricompilate FreeCAD e il successivo passo per creare la propria applicazione marchiata è fatto.

In questo file ci sono molte altre icone che si possono cambiare a proprio gusto.

Se è necessario aggiungere nuove icone, bisogna registrarle in:

/trunk/src/Gui/Icons/BmpFactoryIcons.cpp

in modo da poter accedere ad esse da FreeCAD.

===== Immagine di sfondo =====

L'immagine di sfondo appare quando non è aperta nessuna finestra di documento. Come la [[Splash screen/it|schermata iniziale]], essa è definita in ''developers.h'' nella sezione che inizia con:


<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
static const char* const background[]={
<syntaxhighlight>
<?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>


Tutti i tag elencati sono opzionali.
Per lo sfondo si consiglia di scegliere un'immagine a basso contrasto. In caso contrario l'immagine potrebbe infastidire l'utente.


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


{{Userdocnavi/it}}
{{languages/it | {{en|Branding}} {{es|Branding/es}} {{fr|Branding/fr}} {{ru|Branding/ru}} {{se|Branding/se}} }}


[[Category:Developer Documentation/it]]
[[Category:Developer Documentation/it]]
{{clear}}

Revision as of 21:37, 10 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.