# 3. Создание новых приложений

KAppWizard, также называемый KDE Application Wizard, предназначен для того, чтобы помочь вам начать работу над новым проектом в KDevelop. Таким образом, для начала любого вашего проекта вы должны использовать KAppWizard. Потом вы сможете модифицировать и дополнять автоматически сгенерированный скелет кода. KAppWizard позволяет выбрать один из нескольких типовых проектов, в зависимости от предназначения вашего приложения:

- Обычное приложение KDE: включает исходный код, реализующий стандартную структуру фреймов приложения KDE с поддержкой модели Докумет-Просмотр (Document-View-Controller), панели меню, панели инструментов и строки статуса, а также набор базовых шаблонов документации в SGML -формате, ссылки на KDE-ресурсы и иконки приложения. Этот тип приложений обычно используется для создания новых KDE-проектов.

- Простое KDE приложение (Mini KDE Application): имеет ту же структуру, что и обычное KDE приложение, но с тем отличием, что есть только один видимый элемент - окно.

- Обычное Qt приложение: содержит то же, что и KDE приложение, но код использует только Qt библиотеки и не содержит поддержки KDE. Это может быть полезно для приложений, которые планируется переносить на WINDOWS платформу, или для тех, которые не планируют использование конечным пользователем KDE библиотек.

- C приложение: консольное приложение для C компилятора.

- C++ приложение: использует C++ компилятор и запускается в консоли, следовательно, не требует X-Window.

- Пользовательский проект: создает пустой проект без какого-либо кода. Это может быть полезно для перевода уже существующих программ под KDevelop или для старта "с самого начала". Имейте в виду, что вы должны уделить внимание созданию makefile'ов и конфигурационных скриптов.

В этой главе мы увидим, как можно использовать KAppWizard и что должно быть сделано для создания проекта KDE приложения. Это будет первый шаг нашего пути, где мы создадим исходную версию примера проекта. Для всех остальных типов проектов шаги почти такие же, только вам предоставляется меньше опций для выбора.

# 3.1. Использование KAppWizard и генерация проекта

## 3.1.1. Запуск KAppWizard и первая страница

Чтобы начать создание вашего первого KDE приложения, откройте KDevelop. Затем выберите пункт "New..." из меню "Project". Запустится KAppWizard, и вы увидите дерево на первой странице, содержащее типы проектов. При выборе типа в правой части окна можно увидеть, как будет выглядеть приложение после работы KAppWizard. Выберите ветвь KDE, тип Normal (Обычное приложение KDE). После этого нажмите кнопку "Next" внизу первой страницы KAppWizard. Это приведет к переходу на следующую страницу, где вы сможете установить основные опции проекта.

## 3.1.2. Установки страницы Generate

Для нашего примера мы выберем имя проекта `KScribble`; введите это в поле "Projectname". Затем выберите каталог, в котором вы хотите разместить свой проект; по умолчанию это ваш домашний каталог. Вы можете ввести путь вручную или нажать кнопку справа от поля для выбора каталога через диалоговое окно.

Теперь вы должны ввести номер версии. Для первой версии установите номер `0.1`. Это обычный номер для нового приложения, которое находится в стадии разработки. Для таких приложений присваиваются номера, меньшие 1, а стартовая версия вашего приложения будет иметь только исходный набор фреймов, поэтому назовите ее 0.1.

Наконец, введите свое имя в поле "Author" и ваш email адрес. Остальные опции можете оставить с их значениями по умолчанию.

Для получения дополнительной информации обо всех других опциях, вы можете нажать правую кнопку мыши над соответствующим полем и выбрать пункт меню quick-help. Откроется окно помощи с кратким описанием назначения опции. Это:

- generate sources and headers: генерировать исходный код и файлы заголовков.

- GNU-Standard-Files: добавить копию GNU - General Public License в проект и некоторые стандартные файлы с информацией для пользователя при распространении пакета.

- User-Documentation: руководство пользователя в SGML , шаблон которого уже подготовлен для вашего проекта.

- API -Documentation: создает стартовый набор HTML документации для Application Programming Interface.

- lsm-File: Linux Software Map, используется при распространении программы на предлагающих ее сайтах и представляет собой файл с кратким описанием назначения проекта и его требований.

- .kdelnk -File: файл ссылки, который будет записан в ветку "Applications" дерева меню панели KDE-Panel при инсталляции приложения.

- Program-Icon: иконка, которая представляет проект и может быть использована для создания ссылки на рабочем столе.

- Mini-Icon: мини-иконка, которая отображается возле названия приложения в KDE-Panel, в верхнем левом углу диалоговых окон приложения и его главного окна.

Теперь переключаемся на следующую страницу нажатием кнопки "Next" для создания шаблона файла заголовка вашего проекта.

## 3.1.3. Шаблоны заголовков и исходников

Страница шаблонов заголовков позволяет вам автоматически включать предисловие в ваш файл шаблона, содержащее имя файла, дату, год, copyright, ваше имя и email адрес. Вы не должны изменять текст, набранный заглавными буквами, самостоятельно, KAppWizard сделает это автоматически и добавит шаблон в ваш проект, вы сможете его использовать в дальнейшем для создания новых файлов.

Вторая часть шаблона файла заголовка, предоставляемого по умолчанию, содержит информацию о лицензировании. Предполагается, что ваш проект попадает под действие GNU General Public License, которая также включается в дистрибутив. Эта лицензия используется, чтобы защитить ваш исходный код от любого, кто захочет его скопировать для своих собственных целей. General Public License предлагает вам эту лицензию и таким образом защищает ваши авторские права, это общепринято при распространении свободного программного обеспечения. Для получения дополнительной информации о лицензии вы можете прочитать COPYING файл в корневом каталоге вашего проекта (он будет туда занесен после завершения работы KAppWizard), который является копией GPL и уже входит в состав вашего приложения.

Вы можете выбрать другую лицензию или другой шаблон для использования с проектом. Также вы можете отредактировать предоставляемый по умолчанию шаблон. Для того, чтобы сделать это, вы должны вызвать шаблон в окно редактирования. Для очистки страницы по умолчанию выберите "New", для использования другого шаблона выберите "Load...", что откроет диалоговое окно выбора файла.

Когда вы закончите с этим, переходите к следующей странице, нажав "Next". Эта страница для создания шаблона вашего исходника. В общем она такая же, как и страница создания шаблона файла заголовка. Единственное отличие в том, что шаблоны используются для создания файлов реализации объявленных в заголовках функций.

## 3.1.4. Создание проекта

Теперь, когда вы заполнили все опции для KScribble, выберите "Next" и нажмите кнопку "Generate" внизу окна KAppWizard. Если кнопка недоступна, значит, вы установили неправильное значение какой-либо опции. Для исправления ошибки вернитесь назад с помощью кнопки "Back".

После нажатия кнопки "Generate" вы должны увидеть, что KAppWizard начал работу - он копирует все шаблоны в каталог вашего проекта. Потом, когда KAppWizard завершит работу, кнопка "Cancel" заменится на "Exit". Ее нажатие приведет к выходу из генератора.

После этого шага вы завершаете процесс создания нового проекта. KDevelop загрузит его и предоставит возможность исследовать структуру, представив проект в виде дерева файлов или классов.

В следующем разделе мы опишем, как откомпилировать и запустить вашу первую версию KScribble, и обсудим, как организован исходный код.