Branding/de: Difference between revisions

From FreeCAD Documentation
m (ajout " /de ")
(Updating to match new version of source page)
(30 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.
<div class="mw-translate-fuzzy">
{{docnav/de
|[[Continuous Integration/de|Kontinuierliche Integration]]
|[[Localisation/de|Lokalisierung]]
}}
</div>
{{TOCright}}
<div class="mw-translate-fuzzy">
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 zu verwenden.
</div>


=== Generelles ===
=== 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.
Das Branding geschieht hauptsächlich in den Dateien {{FileName|MainCmd.cpp}} oder {{FileName|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. {{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 das Branding steuert:
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:


<!-- 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 33: Line 44:
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.
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]].
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 ===
===Bilder===
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:
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.


{{Code|code=
Das GNU Bildbearbeitungsprogramm [http://gimp.org/ Gimp] beispielweise, kann XPM-Datei speichern.
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:
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:


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


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


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


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


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

Revision as of 21:22, 20 February 2020

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

Generelles

Das Branding geschieht hauptsächlich 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:

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

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.