Branding/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(52 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav|Continuous Integration|Localisation}}


{{Docnav/pl
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.
|[[Continuous_Integration|Continuous Integration]]
|[[Localisation/pl|Lokalizacja]]
}}


{{TOCright}}
=== 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.
<span id="Overview"></span>
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:
==Informacje ogólne==

Ten artykuł opisuje "Branding" FreeCAD. Branding oznacza utworzenie własnej aplikacji w oparciu o FreeCAD. Może to być tylko twój własny program wykonywalny lub [[Splash_screen/pl|ekran powitalny]] do czasu opracowania pełnej modyfikacji. W oparciu o elastyczną architekturę FreeCAD można go łatwo wykorzystać jako bazę do stworzenia własnego programu specjalnego przeznaczenia.

<span id="Warning"></span>
==Ostrzeżenie==

Chociaż FreeCAD jest oferowany za darmo, a społeczność FreeCAD jest szczęśliwa widząc pojawiające się inne aplikacje oparte na FreeCAD, z drugiej strony widzieliśmy wiele przypadków nieuczciwego wykorzystania informacji zawartych na tej stronie przez ludzi, którzy po prostu przekształcili FreeCAD w aplikację o zamkniętym kodzie źródłowym, aby czerpać z tego zyski.

Chociaż licencja [[License/pl|LGPL]] pozwala na używanie kodu źródłowego FreeCAD w aplikacjach o zamkniętym kodzie źródłowym, to jednocześnie podaje ścisłe zasady takiego postępowania i nie pozwala po prostu wziąć programu FreeCAD, zmienić jego nazwy i pozbawić go licencji.

Jeśli jesteś zainteresowany użyciem FreeCAD w aplikacji o zamkniętym kodzie źródłowym, upewnij się, że dokładnie sprawdziłeś implikacje licencji LGPL, a nawet lepiej, skontaktuj się z każdym deweloperem, administratorem lub moderatorem FreeCAD zanim to zrobisz.

<span id="General"></span>
==Informacje ogólne==

Przeważającą część pracy przeprowadza się w {{FileName|MainCmd.cpp}} lub {{FileName|MainGui.cpp}}. Projekty te generują pliki wykonywalne FreeCAD. Aby stworzyć własną markę, wystarczy skopiować projekty '''Main''' lub '''MainGui''' i nadać plikom wykonywalnym własną nazwę, np. {{FileName|FooApp.exe}}.
Najważniejszych ustawienia dla nowego wyglądu można dokonać w jednym miejscu w funkcji '''main()'''. Oto fragment kodu sterujący brandingiem:


<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<syntaxhighlight>
<syntaxhighlight lang="C">
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";
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()["CopyrightInfo"] = sBanner;
App::Application::Config()["CopyrightInfo"] = sBanner;
App::Application::Config()["AppIcon"] = "FooAppIcon";
App::Application::Config()["AppIcon"] = "FooAppIcon";
App::Application::Config()["SplashScreen"] = "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";
App::Application::Config()["SplashAlignment" ] = "Bottom|Left";
App::Application::Config()["SplashAlignment" ] = "Bottom|Left";
App::Application::Config()["SplashTextColor" ] = "#000000"; // black
App::Application::Config()["SplashTextColor" ] = "#000000"; // black

// Inits the Application
// Inits the Application
App::Application::Config()["RunMode"] = "Gui";
App::Application::Config()["RunMode"] = "Gui";
App::Application::init(argc,argv);
App::Application::init(argc,argv);

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

Gui::Application::initApplication();
Gui::Application::initApplication();
Gui::Application::runApplication();
Gui::Application::runApplication();
App::Application::destruct();
App::Application::destruct();

return 0;
return 0;
}
}
</syntaxhighlight>
</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.


Pierwsza pozycja Config pozwala określić nazwę programu. Nie jest to nazwa pliku wykonywalnego, którą można zmienić poprzez zmianę nazwy lub ustawień kompilatora. Jest to nazwa, która jest wyświetlana na pasku zadań w systemie Windows lub na liście programów w systemie Unix.
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]].

Kolejne linie określają konkretne pozycje konfiguracji aplikacji FooApp. Opis konfiguracji i jej wpisów znajduje się w [[Start up and Configuration|Uruchomienie i konfiguracja]].

<span id="Images"></span>
==Pliki obrazów==

Wszystkie zasoby są zestawiane w FreeCAD przy użyciu [http://qt-project.org/doc/qt-4.8/resources.html System zasobów Qt]. Dlatego musisz zapisać plik {{FileName|.qrc}}, plik oparty na formacie XML, który wyświetla pliki obrazów na dysku, ale także każdy inny rodzaj plików zasobów. Aby załadować skompilowane zasoby wewnątrz aplikacji należy dodać linię:


=== 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
{{Code|code=
{{Code|code=
Q_INIT_RESOURCE(FooApp);
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:
do funkcji '''main()'''. Ewentualnie, jeśli posiadasz obraz w pliku XPM, możesz go bezpośrednio włączyć do {{FileName|main.cpp}} i dodać następującą linię, aby go zarejestrować:

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

=== Branding XML ===
<span id="Branding_XML"></span>
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:
==Marka z XML==

W FreeCAD istnieje również metoda obsługiwana bez pisania niestandardowych funkcji main(). Dla tej metody musisz napisać nazwę pliku o nazwie {{FileName|branding.xml}} i umieścić go w katalogu instalacyjnym programu FreeCAD. Oto przykład z wszystkimi obsługiwanymi znacznikami:


<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<!-- WARNING Do not modify the <syntaxhighligh> tag because of "{}" or pipe characters "|" included in the source code of the macro -->
<syntaxhighlight>
<syntaxhighlight lang="XML">
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Branding>
<Branding>
<Application>FooApp</Application>
<Application>FooApp</Application>
<WindowTitle>Foo App in title bar</WindowTitle>
<WindowTitle>Foo App in title bar</WindowTitle>
<BuildVersionMajor>1</BuildVersionMajor>
<BuildVersionMajor>1</BuildVersionMajor>
<BuildVersionMinor>0</BuildVersionMinor>
<BuildVersionMinor>0</BuildVersionMinor>
<BuildRevision>1234</BuildRevision>
<BuildRevision>1234</BuildRevision>
<BuildRevisionDate>2014/1/1</BuildRevisionDate>
<BuildRevisionDate>2014/1/1</BuildRevisionDate>
<CopyrightInfo>(c) My copyright</CopyrightInfo>
<CopyrightInfo>(c) My copyright</CopyrightInfo>
<MaintainerUrl>Foo App URL</MaintainerUrl>
<MaintainerUrl>Foo App URL</MaintainerUrl>
<ProgramLogo>Path to logo (appears in bottom right corner)</ProgramLogo>
<ProgramLogo>Path to logo (appears in bottom right corner)</ProgramLogo>
<WindowIcon>Path to icon file</WindowIcon>
<WindowIcon>Path to icon file</WindowIcon>
<ProgramIcons>Path to program icons</ProgramIcons>
<ProgramIcons>Path to program icons</ProgramIcons>
<SplashScreen>splashscreen.png</SplashScreen>
<SplashScreen>splashscreen.png</SplashScreen>
<SplashAlignment>Bottom|Left</SplashAlignment>
<SplashAlignment>Bottom|Left</SplashAlignment>
<SplashTextColor>#ffffff</SplashTextColor>
<SplashTextColor>#ffffff</SplashTextColor>
<SplashInfoColor>#c8c8c8</SplashInfoColor>
<SplashInfoColor>#c8c8c8</SplashInfoColor>
<StartWorkbench>PartDesignWorkbench</StartWorkbench>
<StartWorkbench>PartDesignWorkbench</StartWorkbench>
</Branding>
</Branding>
</syntaxhighlight>
</syntaxhighlight>
All of the listed tags are optional.


Wszystkie wymienione znaczniki są opcjonalne.
{{docnav/pl|Testing/pl|Localisation/pl}}


{{Userdocnavi}}


{{Docnav/pl
[[Category:Developer Documentation/pl]]
|[[Continuous_Integration|Continuous Integration]]
{{clear}}
|[[Localisation/pl|Lokalizacja]]
}}

{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]

Latest revision as of 16:45, 4 April 2024

Informacje ogólne

Ten artykuł opisuje "Branding" FreeCAD. Branding oznacza utworzenie własnej aplikacji w oparciu o FreeCAD. Może to być tylko twój własny program wykonywalny lub ekran powitalny do czasu opracowania pełnej modyfikacji. W oparciu o elastyczną architekturę FreeCAD można go łatwo wykorzystać jako bazę do stworzenia własnego programu specjalnego przeznaczenia.

Ostrzeżenie

Chociaż FreeCAD jest oferowany za darmo, a społeczność FreeCAD jest szczęśliwa widząc pojawiające się inne aplikacje oparte na FreeCAD, z drugiej strony widzieliśmy wiele przypadków nieuczciwego wykorzystania informacji zawartych na tej stronie przez ludzi, którzy po prostu przekształcili FreeCAD w aplikację o zamkniętym kodzie źródłowym, aby czerpać z tego zyski.

Chociaż licencja LGPL pozwala na używanie kodu źródłowego FreeCAD w aplikacjach o zamkniętym kodzie źródłowym, to jednocześnie podaje ścisłe zasady takiego postępowania i nie pozwala po prostu wziąć programu FreeCAD, zmienić jego nazwy i pozbawić go licencji.

Jeśli jesteś zainteresowany użyciem FreeCAD w aplikacji o zamkniętym kodzie źródłowym, upewnij się, że dokładnie sprawdziłeś implikacje licencji LGPL, a nawet lepiej, skontaktuj się z każdym deweloperem, administratorem lub moderatorem FreeCAD zanim to zrobisz.

Informacje ogólne

Przeważającą część pracy przeprowadza się w MainCmd.cpp lub MainGui.cpp. Projekty te generują pliki wykonywalne FreeCAD. Aby stworzyć własną markę, wystarczy skopiować projekty Main lub MainGui i nadać plikom wykonywalnym własną nazwę, np. FooApp.exe. Najważniejszych ustawienia dla nowego wyglądu można dokonać w jednym miejscu w funkcji main(). Oto fragment kodu sterujący brandingiem:

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

Pierwsza pozycja Config pozwala określić nazwę programu. Nie jest to nazwa pliku wykonywalnego, którą można zmienić poprzez zmianę nazwy lub ustawień kompilatora. Jest to nazwa, która jest wyświetlana na pasku zadań w systemie Windows lub na liście programów w systemie Unix.

Kolejne linie określają konkretne pozycje konfiguracji aplikacji FooApp. Opis konfiguracji i jej wpisów znajduje się w Uruchomienie i konfiguracja.

Pliki obrazów

Wszystkie zasoby są zestawiane w FreeCAD przy użyciu System zasobów Qt. Dlatego musisz zapisać plik .qrc, plik oparty na formacie XML, który wyświetla pliki obrazów na dysku, ale także każdy inny rodzaj plików zasobów. Aby załadować skompilowane zasoby wewnątrz aplikacji należy dodać linię:

Q_INIT_RESOURCE(FooApp);

do funkcji main(). Ewentualnie, jeśli posiadasz obraz w pliku XPM, możesz go bezpośrednio włączyć do main.cpp i dodać następującą linię, aby go zarejestrować:

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

Marka z XML

W FreeCAD istnieje również metoda obsługiwana bez pisania niestandardowych funkcji main(). Dla tej metody musisz napisać nazwę pliku o nazwie branding.xml i umieścić go w katalogu instalacyjnym programu FreeCAD. Oto przykład z wszystkimi obsługiwanymi znacznikami:

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

Wszystkie wymienione znaczniki są opcjonalne.