Branding/sv: Difference between revisions

From FreeCAD Documentation
(page)
 
(Updating to match new version of source page)
Line 1: Line 1:
Denna artikel diskuterar '''Branding''' av FreeCAD. Branding innebär att du gör din egen applikation med FreeCAD som bas. Det kan sträcka sig från att bara ha en egen startfil eller uppstartsbild till ett helt och hållet omarbetat program. basis FreeCAD's flexibla arkitektur är det lätt att använda den som bas för dina egna program för speciella ändmål.
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.


=== 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:


<syntaxhighlight>
=== Allmänt ===
Den mesta brandingen görs i '''MainCmd.cpp'' or ''MainGui.cpp'''. Dessa Projekt genererar FreeCAD's körbara filer. För att göra din egen variant så behöver du bara kopiera Main eller MainGui projekten och ge den körbara filen ett eget namn, d.v.s. FooApp.exe.

De viktigaste inställningarna för ett nytt utseende kan göras på en plats i main() funktionen. Här är den kodsektion som kontrollerar branding:
<code cpp>
int main( int argc, char ** argv )
int main( int argc, char ** argv )
{
{
// Applikationens Namn och Version
// 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";
// sätt bannern (för loggning och konsol)
// 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 22: Line 21:
App::Application::Config()["SplashTextColor" ] = "#000000"; // black
App::Application::Config()["SplashTextColor" ] = "#000000"; // black
// Initierar Applikationen
// Inits the Application
App::Application::Config()["RunMode"] = "Gui";
App::Application::Config()["RunMode"] = "Gui";
App::Application::init(argc,argv);
App::Application::init(argc,argv);
Line 31: Line 30:
Gui::Application::runApplication();
Gui::Application::runApplication();
App::Application::destruct();
App::Application::destruct();
return 0;
return 0;
}
}
</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.


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]].
</code>


=== Images ===
Den första Config punkten definierar programmets namn. Detta är inte det körbara namnet, vilket kan ändras genom att döpa om eller genom inställningar i kompilatorn, utan det namn som visas i windows programrad eller i programlistan på Unixsystem.
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

<syntaxhighlight>
Efterföljande rader definierar Config punkterna för din FooApp Applikation. En beskrivning av Config och dess punkter hittar du i [[Start up and Configuration/sv|Uppstart och Konfiguration]].
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:
=== Bilder ===
<syntaxhighlight>

Alla bildresurser är inkompilerade i FreeCAD. Detta reducerar fördröjd laddning och håller installationen kompakt. Bilderna är inkluderade i XPM-Format vilket är ett textformat som använder C-syntax. Du kan egentligen rita dessa bilder med en textredigerare, men det är smidigare att skapa bilderna i ditt favorit grafikprogram och sedan konvertera dem till XPM format.

GNU bildprogrammet [http://gimp.org/ Gimp] kan spara XPM filer.

För konvertering kan du använda ''[[ImageConv|ImageConv]]'' verktyget som är inkluderat med freecad. Du kan hitta det under

/trunk/src/Tools/ImageTools/ImageConv


Det kan inte bara konvertera bilder utan även automatiskt uppdatera ''BmpFactoryIcons.cpp'' filen, där bilderna är registrerade. Typiskt bruk är så enkelt som i följande exempel:

ImageConv -i InputImage.png -o OutputImage.xpm


Detta konverterar filen ''InputImage.png'' till XPM-format och skriver resultatet till fil ''OutputImage.xpm''.

Raden:
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
</syntaxhighlight>
=== 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:
<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>
All of the listed tags are optional.


{{docnav|Testing|Localisation}}


[[Category:Developer Documentation]]
i main() inkluderar sedan bilden i FreeCAD's BitmapFactory.
{{clear}}

<languages/>

==== Ikoner ====
Huvudapplikationsikonen ''FCIcon'' som syns i fönstertitlar och på andra platser är definierade i

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


och startar med raden

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


Byt ut den mot din favoritikon, kompilera om freecad och nästa steg att skapa din egen variant är gjord. Det finns många andra ikoner i denna fil som du kan ändra om du vill.

Om du behöver lägga till nya ikoner, så måste du registrera den i

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

så att du kan komma åt den från FreeCAD.


==== Bakgrundsbild ====

Bakgrundsbilden syns när inget dokumentfönster är öppet. Liksom uppstartsbilden så är den definierad i ''developers.h'' i avsnittet som startar med:

static const char* const background[]={

Du ska välja en lågkontrast bild till bakgrunden. Annars kan det irritera användaren.


{{docnav/sv|Testing/sv|Localisation/sv}}

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

[[Category:Developer Documentation/sv]]

Revision as of 19:56, 14 October 2014

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

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:

 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;
 }

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.

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.

Images

Image resources are compiled into FreeCAD using 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

 Q_INIT_RESOURCE(FooApp);

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:

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

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:

 <?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>

All of the listed tags are optional.

Testing
Localisation