Branding/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "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 zarejes...")
No edit summary
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{docnav
{{Docnav/pl
|[[Continuous Integration|Continuous Integration]]
|[[Continuous_Integration|Continuous Integration]]
|[[Localisation|Localisation]]
|[[Localisation/pl|Lokalizacja]]
}}
}}


{{TOCright}}
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|splash screen]] 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.

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

==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 [[Licence/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.

==Informacje ogólne==


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


Line 46: Line 60:
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]].
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]].


==== Pliki obrazów =====
==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ę:
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ę:


{{Code|code=
{{Code|code=
Q_INIT_RESOURCE(FooApp);
Q_INIT_RESOURCE(FooApp);
}}
}}


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ć:
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 ===
==Marka z 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 {{FileName|branding.xml}} and put it into the installation directory of FreeCAD. Here is an example with all supported tags:
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>


Wszystkie wymienione znaczniki są opcjonalne.
All of the listed tags are optional.


<div class="mw-translate-fuzzy">
{{docnav/pl|Testing/pl|Localisation/pl}}
</div>


{{Docnav/pl
{{Userdocnavi}}
|[[Continuous_Integration|Continuous Integration]]
|[[Localisation/pl|Lokalizacja]]
}}


{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation/pl]]
[[Category:Developer Documentation{{#translation:}}]]
{{clear}}

Revision as of 17:50, 14 January 2022

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.