Branding/de: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
(40 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
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.
{{Docnav/de
|[[Continuous Integration/de|Kontinuierliche Integration]]
|[[Localisation/de|Lokalisierung]]
}}
{{TOCright}}
==Übersicht==


Dieser Artikel beschreibt die '''Markenbildung''' von FreeCAD. Markenbildung bedeutet, deine eigene Anwendung auf Basis von FreeCAD zu erstellen. Das kann nur eine eigene ausführbare Datei oder [[Splash screen/de|Eingangsbildschirm]] sein, bis hin zu einem komplett überarbeiteten Programm. Aufgrund der flexiblen Architektur von FreeCAD ist es einfach, es als Basis für die Erstellung deines eigenen speziellen Programms zu verwenden.
=== Generelles ===
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.
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:


=== Allgemein ===
<code cpp>
Die Markenbildung geschieht hauptsächlich in den Dateien {{FileName|MainCmd.cpp}} oder {{FileName|MainGui.cpp}}. Diese Projekte generieren die ausführbaren Dateien von FreeCAD. Um deine eigene Marke zu erstellen, kopiere einfach die Main- oder MainGui Projekte und gib den ausführbaren Dateien einen eigenen Namen, z. B. {{FileName|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 die Markenbildung steuert:

<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<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 42:
return 0;
return 0;
}
}
</syntaxhighlight>
</code>
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.
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]].


Der erste Config Eintrag definiert den Namen des Programms. Dies ist nicht der Name der ausführbaren Datei, die durch Umbenennen oder Kompilierer Einstellungen geändert werden kann, sondern der Name, der in der Aufgabenleiste bei Windows oder in der Programmliste auf Unix Systemen angezeigt wird.
=== Bilder ===
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.


Die nächsten Zeilen definieren die Config Einträge Ihrer FooApp Anwendung. Eine Beschreibung der Config und ihrer Einträge findest du unter [[Start up and Configuration/de|Inbetriebnahme und Konfiguration]].
Das GNU Bildbearbeitungsprogramm [http://gimp.org/ Gimp] beispielweise, kann XPM-Datei speichern.


===Bilder===
Zum Konvertieren können Sie das '' [[ImageConv]]''-Werkzeug, das mit freecad enthalten ist, benutzen. Dies befindet Sie unter:
Bildquellen werden über das [http://qt-project.org/doc/qt-4.8/resources.html Qt-System] in FreeCAD kompiliert. Deshalb muss eine {{FileName|.qrc}} Datei geschrieben werden; ein XML-basiertes Dateiformat, das die Bilddateien auf der Festplatte auflistet. Um die kompilierten Ressourcen innerhalb der Anwendung zu laden, muss folgende Zeile hinzugefügt werden:


{{Code|code=
/trunk/src/Tools/ImageTools/ImageConv
Q_INIT_RESOURCE(FooApp);
}}


innerhalb der <tt>main()</tt>-Funktion. Liegt ein Bild in <tt>XPM</tt>-Format vor, kann es mit Hilfe folgender Zeile direkt in der Datei {{FileName|main.cpp}} registriert werden:
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:


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


===Branding XML===
in der main()-Funktion gliedert dann das Bild in die BitmapFactory von FreeCAD ein.
In FreeCAD wird auch eine Branding-Methode unterstützt, ohne eine angepasste <tt>main()</tt> Function zu schreiben. Für diese Methode müssen Sie eine Datei namens {{FileName|branding.xml}} schreiben und diese im Installationsverzeichnis von FreeCAD ablegen. Hier ein Beispiel mit allen unterstützten Tags:

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


<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
Wenn Sie neue Icons hinzufügen müssen, müssen Sie diese registrieren in:
<syntaxhighlight>
/ Trunk / src / Gui / Icons / BmpFactoryIcons.cpp
<?xml version="1.0" encoding="utf-8"?>
so dass FreeCAD darauf zugreifen kann.
<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>


Alle aufgeführten Tags sind optional.
==== 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
|[[Continuous Integration/de|Kontinuierliche Integration]]
|[[Localisation/de|Lokalisierung]]
}}


{{Userdocnavi{{#translation:}}}}
{{docnav/de |FreeCAD Testen|Localisation}}


[[Category:Developer Documentation{{#translation:}}]]
{{languages/de | {{en|Branding}} {{es|Branding/es}} {{fr|Branding/fr}} {{it|Branding/it}} {{jp|Branding/jp}} {{ru|Branding/ru}} {{se|Branding/se}} }}


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

Revision as of 16:43, 14 October 2020

Übersicht

Dieser Artikel beschreibt die Markenbildung von FreeCAD. Markenbildung bedeutet, deine eigene Anwendung auf Basis von FreeCAD zu erstellen. Das kann nur eine eigene ausführbare Datei oder Eingangsbildschirm sein, bis hin zu einem komplett überarbeiteten Programm. Aufgrund der flexiblen Architektur von FreeCAD ist es einfach, es als Basis für die Erstellung deines eigenen speziellen Programms zu verwenden.

Allgemein

Die Markenbildung geschieht hauptsächlich in den Dateien MainCmd.cpp oder MainGui.cpp. Diese Projekte generieren die ausführbaren Dateien von FreeCAD. Um deine eigene Marke zu erstellen, kopiere einfach die Main- oder MainGui Projekte und gib den ausführbaren Dateien einen eigenen Namen, z. B. 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 die Markenbildung steuert:

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

Der erste Config Eintrag definiert den Namen des Programms. Dies ist nicht der Name der ausführbaren Datei, die durch Umbenennen oder Kompilierer Einstellungen geändert werden kann, sondern der Name, der in der Aufgabenleiste bei Windows oder in der Programmliste auf Unix Systemen angezeigt wird.

Die nächsten Zeilen definieren die Config Einträge Ihrer FooApp Anwendung. Eine Beschreibung der Config und ihrer Einträge findest du unter Inbetriebnahme und Konfiguration.

Bilder

Bildquellen werden über das Qt-System in FreeCAD kompiliert. Deshalb muss eine .qrc Datei geschrieben werden; ein XML-basiertes Dateiformat, das die Bilddateien auf der Festplatte auflistet. Um die kompilierten Ressourcen innerhalb der Anwendung zu laden, muss folgende Zeile hinzugefügt werden:

Q_INIT_RESOURCE(FooApp);

innerhalb der main()-Funktion. Liegt ein Bild in XPM-Format vor, kann es mit Hilfe folgender Zeile direkt in der Datei main.cpp registriert werden:

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

Branding XML

In FreeCAD wird auch eine Branding-Methode unterstützt, ohne eine angepasste main() Function zu schreiben. Für diese Methode müssen Sie eine Datei namens branding.xml schreiben und diese im Installationsverzeichnis von FreeCAD ablegen. Hier ein Beispiel mit allen unterstützten 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>

Alle aufgeführten Tags sind optional.