Branding/ru: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
Line 22: | Line 22: | ||
<!-- 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 ) |
|||
{ |
|||
// 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 73: | Line 73: | ||
<!-- 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"?> |
|||
<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> |
</syntaxhighlight> |
||
Line 107: | Line 107: | ||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
[[Category:Developer Documentation{{#translation:}}]] |
[[Category:Developer Documentation{{#translation:}}]] |
||
{{clear}} |
Revision as of 21:46, 21 August 2021
Overview
Обзор
Эта статья описывает Брендинг FreeCAD. Брендинг средств для начала вашего собственного приложения основанного на FreeCAD. Это может быть как ваш собственный исполняемый файл или загрузочная картинка так и полностью переработанная программа. На базе гибкой архитектуры FreeCAD, её легко использовать как основу для собственной целевой программы.
Главное
Большая часть брендинга делается в MainCmd.cpp или MainGui.cpp. Эти Проекты генерируют исполняемые файлы FreeCAD. Чтобы сделать ваш собственный Бренд просто скопируйте Main или MainGui проекты и дайте исполняемым файлам собственное имя, например FooApp.exe. Наиболее важные настройки для нового облика можно сделать в одном месте в функции main(). Вот участок кода, который управляет брендингом:
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;
}
Первая запись Config определяет название программы. Это не имя исполняемого файла, который может быть изменен путем переименования или настройки компилятора, а имя, которое отображается в панели задач в Windows или в списке программ в Unix системах.
Следующие строки определяют Config записи вашего FooApp Приложения. Описание Config и его элементов вы можете найти в запуске и конфигурации.
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 listed tags are optional.
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework