Difference between revisions of "Branding/de"

From FreeCAD Documentation
Jump to navigation Jump to search
m
(Updating to match new version of source page)
Line 1: Line 1:
Dieser Artikel beschreibt das '''Branding''' von FreeCAD. Branding bedeutet, Ihre eigene Anwendung auf Basis von FreeCAD zu erstellen. Das kann nur eine eigene ausführbare Datei oder Splash-Screen sein, bis hin zu einem komplett überarbeiteten Programm. Aufgrund der flexiblen Architektur von FreeCAD ist es einfach, es als Basis für die Erstellung Ihres eigenen speziellen Programms verwenden.
+
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.
  
=== Generelles ===
+
=== General ===
Das Branding geschieht in der Hauptsache in den Dateien '''MainCmd.cpp'' oder ''MainGui.cpp'''. Diese Projekte generieren die ausführbaren Dateien von FreeCAD. Um Ihre eigene Marke(Brand) zu erstellen, kopieren Sie einfach die Main-oder MainGui Projekte und geben den ausführbaren Dateien einen eigenen Namen, z. B. FooApp.exe.
+
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.  
Die wichtigsten Einstellungen für ein neues Aussehen, werden an einer Stelle in der main()-Funktion vorgenommen. Hier ist der Code-Abschnitt, der das Branding steuert:
+
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:
  
<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 33: Line 33:
 
   return 0;
 
   return 0;
 
  }
 
  }
</code>
+
</syntaxhighlight>
Der erste Config Eintrag definiert den Namen des Programms. Dies ist nicht der Name der ausführbaren Datei, die durch Umbenennen oder Compiler-Einstellungen geändert werden kann, sondern der Name, der in der Task-Leiste bei Windows oder in der Programmliste auf Unix-Systemen angezeigt wird.
+
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.
Die nächsten Zeilen definieren die Config Einträge Ihrer FooApp Anwendung. Eine Beschreibung der Config und ihrer Einträge finden Sie unter [[Start up and Configuration]].
 
  
=== Bilder ===
+
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]].
Alle Bild-Ressourcen werden in FreeCAD compiliert. Dies reduziert verzögertes Starten und hält die Installation kompakt. Die Bilder werden im XPM-Format eingebunden, welches im Grunde ein Textformat in C-Syntax verwendet. Grundsätzlich können Sie diese Bilder mit einem Text-Editor zeichnen, aber es ist bequemer, die Bilder mit Ihrem Lieblings-Grafikprogramm zu erstellen und Sie es später ins XPM-Format zu konvertieren.
 
 
 
Das GNU Bildbearbeitungsprogramm [http://gimp.org/ Gimp] beispielweise, kann XPM-Datei speichern.
 
 
 
Zum Konvertieren können Sie das '' [[ImageConv]]''-Werkzeug, das mit freecad enthalten ist, benutzen. Dies befindet Sie unter:
 
 
 
/trunk/src/Tools/ImageTools/ImageConv
 
 
 
Es kann nicht nur Bilder umwandeln, sondern aktualisiert auch automatisch die ''BmpFactoryIcons.cpp''-Datei, wo die Bilder registriert sind. Die typische Anwendung ist so einfach wie das folgende Beispiel:
 
 
 
ImageConv -i InputImage.png -o OutputImage.xpm
 
 
 
Dieser Befehl wandelt die Datei ''InputImage.png'' in XPM-Format und schreibt das Ergebnis in die Datei ''OutputImage.xpm''.
 
 
 
Die Zeile:
 
  
 +
=== 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
 +
<syntaxhighlight>
 +
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:
 +
<syntaxhighlight>
 
  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.
  
in der main()-Funktion gliedert dann das Bild in die BitmapFactory von FreeCAD ein.
+
{{docnav|Testing|Localisation}}
 
 
==== Icons ====
 
Das Hauptprogramm-Symbol ''FCIcon'', das im Fenstertitel und anderen Stellen erscheint, ist definiert in
 
 
 
/ Trunk / src / Gui / Icons / images.cpp
 
 
 
und beginnt mit der Zeile
 
 
 
<nowiki> static const char * FCIcon [] = {</nowiki>
 
 
 
Ersetzen Sie es mit Ihrem Lieblings-Symbol, compilieren Sie Freecad und der nächste Schritt im Erstellen Ihrer eigenen Marke ist gemacht. Es gibt viele andere Symbole in dieser Datei, die Sie nach Ihrem gusto verändern könnten.
 
 
 
Wenn Sie neue Icons hinzufügen müssen, müssen Sie diese registrieren in:
 
/ Trunk / src / Gui / Icons / BmpFactoryIcons.cpp
 
so dass FreeCAD darauf zugreifen kann.
 
 
 
==== Hintergrund Bilder ====
 
Das Hintergrundbild erscheint, wenn kein Dokument geöffnet ist. Wie der Splash-Screen, wird es in ''developers.h'' definiert, im Abschnitt beginnend mit:
 
static const char * const Hintergrund [] = {
 
Sie sollten einen geringen Kontrast für ein Hintergrundbild benutzen. Ansonsten kann es die Benutzer reizen.
 
 
 
 
 
{{docnav/de |FreeCAD Testen|Localisation}}
 
 
 
{{languages/de | {{en|Branding}} {{es|Branding/es}} {{fr|Branding/fr}} {{it|Branding/it}} {{jp|Branding/jp}} {{ru|Branding/ru}} {{se|Branding/se}} }}
 
  
[[Category:Developer Documentation/de]]
+
[[Category:Developer Documentation]]
 +
{{clear}}
 +
<languages/>

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.

Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎svenska • ‎čeština • ‎русский