From 0b8ca6637be94f7814cafa7d01ad4699672ff336 Mon Sep 17 00:00:00 2001 From: Darrell Anderson Date: Tue, 21 Jan 2014 22:06:48 -0600 Subject: Beautify docbook files --- .../docs/tdevelop/kde_app_devel/index.docbook | 1703 +++------- tde-i18n-ru/docs/tdevelop/kdearch/index.docbook | 3476 +++++--------------- .../tdevelop/tdevelop/adv-build-management.docbook | 206 +- .../docs/tdevelop/tdevelop/app-changelog.docbook | 57 +- .../docs/tdevelop/tdevelop/app-files.docbook | 1621 ++------- .../docs/tdevelop/tdevelop/app-menu.docbook | 61 +- .../docs/tdevelop/tdevelop/app-misc-info.docbook | 30 +- .../tdevelop/tdevelop/app-uimodes-examples.docbook | 139 +- .../tdevelop/tdevelop/applicationwizard.docbook | 1403 ++------ .../docs/tdevelop/tdevelop/class-browsers.docbook | 80 +- .../docs/tdevelop/tdevelop/commands.docbook | 3383 ++++--------------- tde-i18n-ru/docs/tdevelop/tdevelop/credits.docbook | 40 +- tde-i18n-ru/docs/tdevelop/tdevelop/cvs.docbook | 126 +- .../docs/tdevelop/tdevelop/debugger.docbook | 317 +- .../docs/tdevelop/tdevelop/documentation.docbook | 71 +- tde-i18n-ru/docs/tdevelop/tdevelop/editing.docbook | 674 +--- .../docs/tdevelop/tdevelop/file-browsers.docbook | 52 +- .../docs/tdevelop/tdevelop/getting-started.docbook | 3366 ++++--------------- tde-i18n-ru/docs/tdevelop/tdevelop/index.docbook | 620 +--- .../docs/tdevelop/tdevelop/nutshell.docbook | 328 +- .../docs/tdevelop/tdevelop/plugin-tools.docbook | 834 ++--- .../tdevelop/tdevelop/project-advanced.docbook | 91 +- .../tdevelop/tdevelop/project-management.docbook | 1271 ++----- tde-i18n-ru/docs/tdevelop/tdevelop/setup.docbook | 2595 ++++----------- .../docs/tdevelop/tdevelop/survey-manual.docbook | 295 +- .../tdevelop/tdevelop/tdevelop-install.docbook | 1425 ++------ .../tdevelop/tdevelop/tdevelop-scripting.docbook | 58 +- .../docs/tdevelop/tdevelop/tdevelop-survey.docbook | 793 ++--- tde-i18n-ru/docs/tdevelop/tdevelop/unixdev.docbook | 675 +--- 29 files changed, 5626 insertions(+), 20164 deletions(-) (limited to 'tde-i18n-ru/docs/tdevelop') diff --git a/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook b/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook index 41c35897c08..66893d4531d 100644 --- a/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook +++ b/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook @@ -1,154 +1,83 @@ KDevelop"> + KDevelop"> - + ]> -Основы программирования в &tdevelop; +Основы программирования в &tdevelop; -2002-12-05 -2.0 +2002-12-05 +2.0 -Ralf Nolden
Ralf.Nolden@post.rwth-aachen.de
+Ralf Nolden
Ralf.Nolden@post.rwth-aachen.de
-Caleb Tennis
caleb@aei-tech.com
+Caleb Tennis
caleb@aei-tech.com
-1999 -Ralf Nolden +1999 +Ralf Nolden -2002 -Caleb Tennis +2002 +Caleb Tennis -&FDLNotice; +&FDLNotice; -Руководство по написанию C++ приложений для KDE с использованием &tdevelop; +Руководство по написанию C++ приложений для KDE с использованием &tdevelop; -KDE -KDevelop -IDE -разработка -программирование +KDE +KDevelop +IDE +разработка +программирование
-Введение -С приобретением Unix-подобными системами всё большей популярности даже среди начинающих пользователей из-за таких преимуществ, как стабильность, гибкость и функциональность (а также из-за решения начальства о переходе на эти ОС - прим. перев.), большинство из них разочаровывают из-за непохожего внешнего вида программ и их различного поведения. Разработчикам, пишущим приложения под KDE, предоставляется возможность писать первоклассные программы для Unix-клонов, что способствует расширению сообщества пользователей этих операционных систем посредством предоставления приложений лучшего качества. Поэтому KDE становится всё более популярной средой для программистов, которые хотят сосредоточиться на главной цели своего проекта, оставив основную работу по созданию интерфейса библиотекам KDE. +Введение +С приобретением Unix-подобными системами всё большей популярности даже среди начинающих пользователей из-за таких преимуществ, как стабильность, гибкость и функциональность (а также из-за решения начальства о переходе на эти ОС - прим. перев.), большинство из них разочаровывают из-за непохожего внешнего вида программ и их различного поведения. Разработчикам, пишущим приложения под KDE, предоставляется возможность писать первоклассные программы для Unix-клонов, что способствует расширению сообщества пользователей этих операционных систем посредством предоставления приложений лучшего качества. Поэтому KDE становится всё более популярной средой для программистов, которые хотят сосредоточиться на главной цели своего проекта, оставив основную работу по созданию интерфейса библиотекам KDE. -Что нужно знать -Далее предполагается, что вы уже знаете C++. Если это не так, попрактикуйтесь сначала в самом языке. Книги о нём можно найти либо в местном книжном магазине, либо в электронном виде в Сети. Знания о разработке графического пользовательского интерфейса (GUI) не обязательны, т.к. в этом руководстве также даётся введение в разработку дизайна на базе библиотек Qt и KDE. Также вам нужно освоиться с &tdevelop;, в чём вам поможет Руководство &tdevelop;, содержащее обзор функциональности этой среды разработки. +Что нужно знать +Далее предполагается, что вы уже знаете C++. Если это не так, попрактикуйтесь сначала в самом языке. Книги о нём можно найти либо в местном книжном магазине, либо в электронном виде в Сети. Знания о разработке графического пользовательского интерфейса (GUI) не обязательны, т.к. в этом руководстве также даётся введение в разработку дизайна на базе библиотек Qt и KDE. Также вам нужно освоиться с &tdevelop;, в чём вам поможет Руководство &tdevelop;, содержащее обзор функциональности этой среды разработки. -Об этом руководстве -Это руководство написано для ознакомления программистов с разработкой приложений KDE в интегрированной среде разработки KDevelop. -Следующие главы содержат способы создания проектов, описание начального исходного кода, созданного мастером, добавление таких элементы интерфейса, как панели инструментов, меню, и области представления (view). -Затем идёт обсуждение редактора диалогов с изложением механизма создания элементов управления (элементов пользовательского интерфейса, называемых также виджетами) и изменения их свойств. -Завершается руководство несколькими темами, которые дополнят ваши знания по проектированию и написанию документации. +Об этом руководстве +Это руководство написано для ознакомления программистов с разработкой приложений KDE в интегрированной среде разработки KDevelop. +Следующие главы содержат способы создания проектов, описание начального исходного кода, созданного мастером, добавление таких элементы интерфейса, как панели инструментов, меню, и области представления (view). +Затем идёт обсуждение редактора диалогов с изложением механизма создания элементов управления (элементов пользовательского интерфейса, называемых также виджетами) и изменения их свойств. +Завершается руководство несколькими темами, которые дополнят ваши знания по проектированию и написанию документации. -В следующей главе -Мы обратим наш взгляд на библиотеки Qt и KDE, их основные принципы и вообще почему всё сделано так, как оно есть. Также будет описано создание учебных программ под Qt с помощью &tdevelop;, так что начинающие смогут получить первые результаты, а также освоиться с основными возможностями &tdevelop;. +В следующей главе +Мы обратим наш взгляд на библиотеки Qt и KDE, их основные принципы и вообще почему всё сделано так, как оно есть. Также будет описано создание учебных программ под Qt с помощью &tdevelop;, так что начинающие смогут получить первые результаты, а также освоиться с основными возможностями &tdevelop;. -В следующих главах -Вы научитесь: -создавать приложения с помощью KAppWizard -узнаете, что уже есть в проекте сразу после его создания -что делает уже созданный код -настраивать представление -добавлять новые возможности в ваше приложение с помощью диалогов, меню и панелей инструментов -делать приложение простым в использовании с помощью контекстной справки -создавать документацию +В следующих главах +Вы научитесь: +создавать приложения с помощью KAppWizard +узнаете, что уже есть в проекте сразу после его создания +что делает уже созданный код +настраивать представление +добавлять новые возможности в ваше приложение с помощью диалогов, меню и панелей инструментов +делать приложение простым в использовании с помощью контекстной справки +создавать документацию @@ -156,94 +85,40 @@ -Дополнительная информация -Дополнительная информация по программированию в Qt/KDE: -Программирование под Qt под редакцией Matthias Kalle Dalheimer -Руководство KDevelop, поставляемое с KDevelop -Справочник по функциям библиотеки Qt -Сайт разработчиков KDE +Дополнительная информация +Дополнительная информация по программированию в Qt/KDE: +Программирование под Qt под редакцией Matthias Kalle Dalheimer +Руководство KDevelop, поставляемое с KDevelop +Справочник по функциям библиотеки Qt +Сайт разработчиков KDE -Также вы можете получить дополнительную информацию, воспользовавшись поисковой машиной, подпиской на различные списки рассылки, сетью Usenet. -Для получения помощи по KDevelop IDE посылайте запросы в список рассылки kdevelop@kdevelop.org. Помните, что команда разработчиков KDevelop оказывает вам помощь бесплатно и её возможности ограничены. Пожалуйста, задавайте вопросы только по KDevelop. +Также вы можете получить дополнительную информацию, воспользовавшись поисковой машиной, подпиской на различные списки рассылки, сетью Usenet. +Для получения помощи по KDevelop IDE посылайте запросы в список рассылки kdevelop@kdevelop.org. Помните, что команда разработчиков KDevelop оказывает вам помощь бесплатно и её возможности ограничены. Пожалуйста, задавайте вопросы только по KDevelop. -Библиотеки KDE и Qt -Норвежская компания TrollTech (http://www.trolltech.com) является разработчиком, т.н. GUI-инструментария, Qt. GUI расшифровывается как "Graphical User Interface" ("графический пользовательский интерфейс"). Этот инструментарий нужен для разработки приложений с графическим интерфейсом, чаще всего через интерфейс X-Window (или совместимый) на системах Unix, т.к. система X не содержит предопределённого интерфейса сама по себе (на данный момент разрабатывается альтернатива Y Window System, которая должна содержать базовый набор графических элементов, но её разработка находится только на начальной стадии - прим. перев.). Доступны и другие библиотеки пользовательского интерфейса, но Qt имеет некоторые преимущества, позволяющие создавать приложения проще и быстрее. Qt также доступна для Microsoft Windows, что позволяет делать переносимые приложения с графическим интерфейсом. -Цель команды KDE (http://www.kde.org) -- сделать системы Unix более дружественными для пользователя, используя библиотеку Qt, для разработки оконного менеджера для платформы X-Window (или совместимой с ней), а также большого количества разнообразных программ, поставляемых в пакетах KDE. После выхода первых версий KDE, многие разработчики обратили внимание на предложенную им среду разработки графических приложений. Библиотеки KDE предоставляют общие методы и классы для разработки приложений с унифицированным согласованным интерфейсом. Это значит, что пользователю не придётся осваиваться с интерфейсом каждой программы с нуля, а только со её специфическими функциями. Кроме того, программы KDE взаимодействуют друг с другом в рамках рабочего стола: они могут взаимодействовать с файловым менеджером посредством технологии "перетащить и оставить", с менеджером сессии и использовать другие возможности, предоставляемые библиотеками KDE. -И библиотека QT и библиотеки KDE написаны на языке программирования C++, поэтому почти все приложения, их использующие, тоже написаны на C++. В следующем разделе мы совершим краткий экскурс в библиотеки, увидим, какие возможности они предоставляют, и как в общих чертах создаются приложения Qt и KDE. +Библиотеки KDE и Qt +Норвежская компания TrollTech (http://www.trolltech.com) является разработчиком, т.н. GUI-инструментария, Qt. GUI расшифровывается как "Graphical User Interface" ("графический пользовательский интерфейс"). Этот инструментарий нужен для разработки приложений с графическим интерфейсом, чаще всего через интерфейс X-Window (или совместимый) на системах Unix, т.к. система X не содержит предопределённого интерфейса сама по себе (на данный момент разрабатывается альтернатива Y Window System, которая должна содержать базовый набор графических элементов, но её разработка находится только на начальной стадии - прим. перев.). Доступны и другие библиотеки пользовательского интерфейса, но Qt имеет некоторые преимущества, позволяющие создавать приложения проще и быстрее. Qt также доступна для Microsoft Windows, что позволяет делать переносимые приложения с графическим интерфейсом. +Цель команды KDE (http://www.kde.org) -- сделать системы Unix более дружественными для пользователя, используя библиотеку Qt, для разработки оконного менеджера для платформы X-Window (или совместимой с ней), а также большого количества разнообразных программ, поставляемых в пакетах KDE. После выхода первых версий KDE, многие разработчики обратили внимание на предложенную им среду разработки графических приложений. Библиотеки KDE предоставляют общие методы и классы для разработки приложений с унифицированным согласованным интерфейсом. Это значит, что пользователю не придётся осваиваться с интерфейсом каждой программы с нуля, а только со её специфическими функциями. Кроме того, программы KDE взаимодействуют друг с другом в рамках рабочего стола: они могут взаимодействовать с файловым менеджером посредством технологии "перетащить и оставить", с менеджером сессии и использовать другие возможности, предоставляемые библиотеками KDE. +И библиотека QT и библиотеки KDE написаны на языке программирования C++, поэтому почти все приложения, их использующие, тоже написаны на C++. В следующем разделе мы совершим краткий экскурс в библиотеки, увидим, какие возможности они предоставляют, и как в общих чертах создаются приложения Qt и KDE. -GUI-инструментарий Qt -Как сказано выше, библиотека Qt предоставляет собой набор графических элементов. Кроме этого: -Классы и методы, готовые к использованию даже не графическими программами -Удобное решение взаимодействия с пользователем через методы и механизм сигналов/слотов -Набор предопределённых GUI-элементов, называемых "виджетами" -Предопределённые диалоги, например диалог открытия файла +GUI-инструментарий Qt +Как сказано выше, библиотека Qt предоставляет собой набор графических элементов. Кроме этого: +Классы и методы, готовые к использованию даже не графическими программами +Удобное решение взаимодействия с пользователем через методы и механизм сигналов/слотов +Набор предопределённых GUI-элементов, называемых "виджетами" +Предопределённые диалоги, например диалог открытия файла -Знание классов Qt очень полезно, даже если вы хотите программировать под KDE. Для начала разберём программу под Qt, а потом сделаем из неё программу под KDE. +Знание классов Qt очень полезно, даже если вы хотите программировать под KDE. Для начала разберём программу под Qt, а потом сделаем из неё программу под KDE. -Первое приложение Qt -Обычно в начале программы на C++ должна быть функция main(), которая выполняется первой при запуске программы. Так как мы хотим показать окна и настроить взаимодействие с пользователем, сначала мы должны разобраться, как эти окна будут показываться пользователю. Посмотрим первый учебный пример из документации по библиотеке Qt и разберём шаги выполнения программы, которая показывает окно: #include <qapplication.h> +Первое приложение Qt +Обычно в начале программы на C++ должна быть функция main(), которая выполняется первой при запуске программы. Так как мы хотим показать окна и настроить взаимодействие с пользователем, сначала мы должны разобраться, как эти окна будут показываться пользователю. Посмотрим первый учебный пример из документации по библиотеке Qt и разберём шаги выполнения программы, которая показывает окно: #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -259,358 +134,116 @@ return a.exec(); } -Приложение прорисовывает окно с кнопкой "Hello world". Для всех Qt-приложений, нужно создать сначала экземпляр класса QApplication, представленного переменной a. -Далее создаётся экземпляр класса QPushButton и именем hello. Он представляет собой кнопку. Конструктор hello получает строку в виде аргумента и выводит её на кнопке. -Вызывается метод кнопки hello resize(). Он изменяет размер элемента управления QPushButton - ширина 100 точек и высота - 30. Наконец, вызывается метод setMainWidget() для переменной a и show() для переменной hello. QApplication выполняется методом a.exec(), запускается цикл опроса событий, который повторяется до тех пор, пока событием не будет возвращено целое число, сигнализирующее операционной системе о том, что работа приложения закончена. +Приложение прорисовывает окно с кнопкой "Hello world". Для всех Qt-приложений, нужно создать сначала экземпляр класса QApplication, представленного переменной a. +Далее создаётся экземпляр класса QPushButton и именем hello. Он представляет собой кнопку. Конструктор hello получает строку в виде аргумента и выводит её на кнопке. +Вызывается метод кнопки hello resize(). Он изменяет размер элемента управления QPushButton - ширина 100 точек и высота - 30. Наконец, вызывается метод setMainWidget() для переменной a и show() для переменной hello. QApplication выполняется методом a.exec(), запускается цикл опроса событий, который повторяется до тех пор, пока событием не будет возвращено целое число, сигнализирующее операционной системе о том, что работа приложения закончена. -Справочник Qt -Теперь давайте посмотрим на справочную документацию Qt. Запустите &tdevelop; и выберите "Qt" из дерева, расположенного на вкладке документации. Здесь вы будете получать всю необходимую информацию о классах и их методах библиотеки Qt. Кроме того, разбираемая программа показывается первой в разделе обучения. Для того, чтобы найти информацию о классах QApplication и QPushButton, выберите раздел "Alphabetical Class List" и найдите в списке имена классов. Нажмите на соответствующую ссылку для получения подробного описания класса. -Документацию по библиотеке Qt вы также можете найти на сайте компании Trolltech в разделе документация Qt (на английском языке) -QApplication имеет конструктор и другие методы. Если вы последуете за ссылкой, то можете больше узнать о каждом из методов. Это остаётся верным и для документации по библиотеке KDE, использующей схожий тип документации. +Справочник Qt +Теперь давайте посмотрим на справочную документацию Qt. Запустите &tdevelop; и выберите "Qt" из дерева, расположенного на вкладке документации. Здесь вы будете получать всю необходимую информацию о классах и их методах библиотеки Qt. Кроме того, разбираемая программа показывается первой в разделе обучения. Для того, чтобы найти информацию о классах QApplication и QPushButton, выберите раздел "Alphabetical Class List" и найдите в списке имена классов. Нажмите на соответствующую ссылку для получения подробного описания класса. +Документацию по библиотеке Qt вы также можете найти на сайте компании Trolltech в разделе документация Qt (на английском языке) +QApplication имеет конструктор и другие методы. Если вы последуете за ссылкой, то можете больше узнать о каждом из методов. Это остаётся верным и для документации по библиотеке KDE, использующей схожий тип документации. -Интерпретация работы примера -Начините с QApplication, и вы увидите все методы, использованные в первом примере: -конструктор QApplication() -метод setMainWidget() -метод exec() +Интерпретация работы примера +Начините с QApplication, и вы увидите все методы, использованные в первом примере: +конструктор QApplication() +метод setMainWidget() +метод exec() -Интерпретация работы программы очень проста: -Создаём экземпляр класса QApplication с помощью конструктора, что позволит нам использовать GUI-элементы, предоставляемые Qt -Создаём элемент управления в окне приложения -Делаем элемент управления главным для приложения (переменная 'a') -Запускаем экземпляр QApplication - +Интерпретация работы программы очень проста: +Создаём экземпляр класса QApplication с помощью конструктора, что позволит нам использовать GUI-элементы, предоставляемые Qt +Создаём элемент управления в окне приложения +Делаем элемент управления главным для приложения (переменная 'a') +Запускаем экземпляр QApplication + -Второй объект нашей программы - кнопка, экземпляр класса QPushButton. Из двух доступных конструкторов экземпляров этого класса мы воспользовались вторым: он принимает в виде аргумента строку текста, которая будет показана на кнопке. Затем методом resize() мы изменяем размер кнопки, чтобы вся строка была видна на кнопке. -Далее идёт метод show(). Но его нет в описании класса QPushButton. Этот класс наследует методы класса QButton, а тот, в свою очередь, наследует методы QWidget. Этот класс содержит огромное количество методов, в том числе show(). Итак, что же делалось с кнопкой: -Создаём экземпляр класса QPushButton, используя второй конструктор для указания надписи на кнопке -Изменяем размер кнопки -Делаем основным элементом управления для переменной а, экземпляра класса QApplication -Вызываем метод show(), который приводит к отображению элемента управления. Он наследуется от класса QWidget +Второй объект нашей программы - кнопка, экземпляр класса QPushButton. Из двух доступных конструкторов экземпляров этого класса мы воспользовались вторым: он принимает в виде аргумента строку текста, которая будет показана на кнопке. Затем методом resize() мы изменяем размер кнопки, чтобы вся строка была видна на кнопке. +Далее идёт метод show(). Но его нет в описании класса QPushButton. Этот класс наследует методы класса QButton, а тот, в свою очередь, наследует методы QWidget. Этот класс содержит огромное количество методов, в том числе show(). Итак, что же делалось с кнопкой: +Создаём экземпляр класса QPushButton, используя второй конструктор для указания надписи на кнопке +Изменяем размер кнопки +Делаем основным элементом управления для переменной а, экземпляра класса QApplication +Вызываем метод show(), который приводит к отображению элемента управления. Он наследуется от класса QWidget -После вызова метода exec(), приложение становится видимым пользователю. Окно приложения содержит кнопку "Hello world!". Примечание: GUI-программы ведут себя несколько отлично от процедурных. Главное отличие состоит в том, что приложение входит в т.н. "главный цикл событий" ("main event loop"). Это означает, что программа ожидает действий со стороны пользователя, и выдаёт на них определённую реакцию. Следующий раздел разъясняет, что это означает для программиста, и как эти события обрабатываются в Qt. -Для опытных: кнопка не имеет родителя, это значит, что это элемент управления верхнего уровня (top-level) и выполняется в локальном цикле событий, которому не нужно ждать главного цикла событий. Подробно это объяснено в документации класса QWidget и The KDE Library Reference Guide - +После вызова метода exec(), приложение становится видимым пользователю. Окно приложения содержит кнопку "Hello world!". Примечание: GUI-программы ведут себя несколько отлично от процедурных. Главное отличие состоит в том, что приложение входит в т.н. "главный цикл событий" ("main event loop"). Это означает, что программа ожидает действий со стороны пользователя, и выдаёт на них определённую реакцию. Следующий раздел разъясняет, что это означает для программиста, и как эти события обрабатываются в Qt. +Для опытных: кнопка не имеет родителя, это значит, что это элемент управления верхнего уровня (top-level) и выполняется в локальном цикле событий, которому не нужно ждать главного цикла событий. Подробно это объяснено в документации класса QWidget и The KDE Library Reference Guide + -Взаимодействие с пользователем -После прочтения последних разделов, вы уже должны знать: -Что предоставляет библиотека Qt в терминах GUI-программирования -Как создаётся программа, использующая Qt и -Где и как найти информацию о классах, которые вам нужны - +Взаимодействие с пользователем +После прочтения последних разделов, вы уже должны знать: +Что предоставляет библиотека Qt в терминах GUI-программирования +Как создаётся программа, использующая Qt и +Где и как найти информацию о классах, которые вам нужны + -Теперь оживим нашу программу добавлением обработчика событий. В общем, есть два способа взаимодействия пользователя с программой - клавиатурой и мышью. В обоих случаях графический интерфейс предоставляет механизмы регистрации новых событий от этих устройств и методы их обработки. -Оконная система посылает все события соответствующему приложению. QApplication пересылает их активному окну в виде QEvent и элементы управления затем решают, что при этом делать. Соответствующий элемент управления принимает событие и обрабатывает QWidget::event (QEvent*), в котором определяется тип события и выдаётся соответствующая реакция; event() - главный обработчик событий. Он передаёт событие т.н. фильтрам событий, которые определяют, что произошло и что делать с этим событием. Если фильтра для данного типа события нет, вызываются специальные обработчики событий. Они вызывают соответствующие предопределённые методы: -События с клавиатуры - нажатие клавиш TAB и Shift-TAB: +Теперь оживим нашу программу добавлением обработчика событий. В общем, есть два способа взаимодействия пользователя с программой - клавиатурой и мышью. В обоих случаях графический интерфейс предоставляет механизмы регистрации новых событий от этих устройств и методы их обработки. +Оконная система посылает все события соответствующему приложению. QApplication пересылает их активному окну в виде QEvent и элементы управления затем решают, что при этом делать. Соответствующий элемент управления принимает событие и обрабатывает QWidget::event (QEvent*), в котором определяется тип события и выдаётся соответствующая реакция; event() - главный обработчик событий. Он передаёт событие т.н. фильтрам событий, которые определяют, что произошло и что делать с этим событием. Если фильтра для данного типа события нет, вызываются специальные обработчики событий. Они вызывают соответствующие предопределённые методы: +События с клавиатуры - нажатие клавиш TAB и Shift-TAB: -virtual void focusInEvent(QFocusEvent *) -virtual void focusOutEvent(QFocusEvent *) +virtual void focusInEvent(QFocusEvent *) +virtual void focusOutEvent(QFocusEvent *) -Весь остальной ввод с клавиатуры: +Весь остальной ввод с клавиатуры: -virtual void keyPressEvent(QKeyEvent *) -virtual void keyReleaseEvent(QKeyEvent *) +virtual void keyPressEvent(QKeyEvent *) +virtual void keyReleaseEvent(QKeyEvent *) -Движения курсора мыши: +Движения курсора мыши: -virtual void mouseMoveEvent(QMouseEvent *) -virtual void enterEvent(QEvent *) -virtual void leaveEvent(QEvent *) +virtual void mouseMoveEvent(QMouseEvent *) +virtual void enterEvent(QEvent *) +virtual void leaveEvent(QEvent *) -Щелчки мышью +Щелчки мышью -virtual void mousePressEvent(QMouseEvent *) -virtual void mouseReleaseEvent(QMouseEvent *) -virtual void mouseDoubleClickEvent(QMouseEvent *) +virtual void mousePressEvent(QMouseEvent *) +virtual void mouseReleaseEvent(QMouseEvent *) +virtual void mouseDoubleClickEvent(QMouseEvent *) -События с окном, содержащим элемент управления +События с окном, содержащим элемент управления -virtual void moveEvent(QMoveEvent *) -virtual void resizeEvent(QResizeEvent *) -virtual void closeEvent(QCloseEvent *) +virtual void moveEvent(QMoveEvent *) +virtual void resizeEvent(QResizeEvent *) +virtual void closeEvent(QCloseEvent *) -Помните, что все функции событий являются виртуальными и защищёнными. Вы можете переназначить события, нужные вам, и определить свою реакцию. QWidget также содержит некоторые виртуальные методы, которые могут пригодиться в ваших программах. В любом случае, класс QWidget нужно узнать получше. +Помните, что все функции событий являются виртуальными и защищёнными. Вы можете переназначить события, нужные вам, и определить свою реакцию. QWidget также содержит некоторые виртуальные методы, которые могут пригодиться в ваших программах. В любом случае, класс QWidget нужно узнать получше. -Взаимодействие объектов через сигналы и слоты -Теперь переходим к основному отличию Qt: механизму сигнал/слот. Это быстрое и удобное решение реализации взаимодействия объектов, которое обычно решается посредством callback-функций в библиотеках, работающих с X-Window. Так как такое взаимодействие требует аккуратного программирования и иногда делает создание пользовательского интерфейса очень сложным (что описано в документации по Qt и объяснено в книге К.Дальхеймера [K.Dalheimer] 'Programming with Qt'), Troll Tech придумала новую систему, где объекты могут посылать сигналы, которые можно связывать с методами, объявленными как слоты. Программисту на C++ нужно знать только некоторые вещи о механизме: -объявление класса, использующего сигналы/слот должно содержать макрос Q_OBJECT в начале (без точки с запятой); и должно быть унаследовано от класса QObject -сигнал может быть послан ключевым словом emit (например, emit signal (параметры...)) из любого метода класса, поддерживающего сигналы/слоты - -все сигналы, использующиеся не наследуемыми классами, должны быть добавлены в объявление класса в разделе signals -все методы, которые могут быть связаны с сигналом, объявляются в разделах определения класса с дополнительным ключевым словом slot, например public slots -компилятор метаобъектов (moc, meta-object compiler) обрабатывает заголовочные файлы, заменяя макросы на действительный код (это не обязательно знать). Вывод moc передаётся компилятору C++. +Взаимодействие объектов через сигналы и слоты +Теперь переходим к основному отличию Qt: механизму сигнал/слот. Это быстрое и удобное решение реализации взаимодействия объектов, которое обычно решается посредством callback-функций в библиотеках, работающих с X-Window. Так как такое взаимодействие требует аккуратного программирования и иногда делает создание пользовательского интерфейса очень сложным (что описано в документации по Qt и объяснено в книге К.Дальхеймера [K.Dalheimer] 'Programming with Qt'), Troll Tech придумала новую систему, где объекты могут посылать сигналы, которые можно связывать с методами, объявленными как слоты. Программисту на C++ нужно знать только некоторые вещи о механизме: +объявление класса, использующего сигналы/слот должно содержать макрос Q_OBJECT в начале (без точки с запятой); и должно быть унаследовано от класса QObject +сигнал может быть послан ключевым словом emit (например, emit signal (параметры...)) из любого метода класса, поддерживающего сигналы/слоты + +все сигналы, использующиеся не наследуемыми классами, должны быть добавлены в объявление класса в разделе signals +все методы, которые могут быть связаны с сигналом, объявляются в разделах определения класса с дополнительным ключевым словом slot, например public slots +компилятор метаобъектов (moc, meta-object compiler) обрабатывает заголовочные файлы, заменяя макросы на действительный код (это не обязательно знать). Вывод moc передаётся компилятору C++. -Другой способ использования сигналов без наследования от класса QObject - использовать класс QSignal: дополнительные сведения и примеры использования вы можете найти в документации. Далее подразумевается, что вы используете наследование от класса QObject. -В этом случае ваш класс может посылать сигналы куда угодно и создавать слоты, к которым можно привязывать любые сигналы. Используя сигналы, вам не нужно заботиться о том, кто их получает - нужно просто послать сигнал, а потом подключить любой слот, который будет выполнен при возникновении сигнала. Слоты можно использовать также как обычные методы в реализации. -Теперь, чтобы соединить сигнал со слотом,воспользуйтесь методом connect() класса QObject или, если доступно, другими специальными методами объекта для создания привязки к соответствующему сигналу. +Другой способ использования сигналов без наследования от класса QObject - использовать класс QSignal: дополнительные сведения и примеры использования вы можете найти в документации. Далее подразумевается, что вы используете наследование от класса QObject. +В этом случае ваш класс может посылать сигналы куда угодно и создавать слоты, к которым можно привязывать любые сигналы. Используя сигналы, вам не нужно заботиться о том, кто их получает - нужно просто послать сигнал, а потом подключить любой слот, который будет выполнен при возникновении сигнала. Слоты можно использовать также как обычные методы в реализации. +Теперь, чтобы соединить сигнал со слотом,воспользуйтесь методом connect() класса QObject или, если доступно, другими специальными методами объекта для создания привязки к соответствующему сигналу. -Примерное использование -В качестве объяснения взаимодействия между объектами возьмём наш первый пример и расширим его простой привязкой сигнала и слота: #include <qapplication.h> +Примерное использование +В качестве объяснения взаимодействия между объектами возьмём наш первый пример и расширим его простой привязкой сигнала и слота: #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -629,87 +262,37 @@ return a.exec(); } -Как видите, мы лишь расширили возможности кнопки с использованием метода connect(): connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() )) — всё, что мы добавили. Что же это означает? Объявление метода connect() в классе QObject: -bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) -Это значит, что указатель на экземпляр QObject является инициатором сигнала, указанного во втором аргументе. Оставшиеся два аргумента есть объект-приёмник, который имеет слот, а затем и имя функции-слота, которая будет выполнена при получении сигнала. -С помощью сигналов и слотов, объекты ваших программ могут взаимодействовать друг с другом без явной зависимости от типа объекта-приёмника. Далее в этом руководстве приводится более подробное описание работы механзима сигналов/слотов. Коме этого, о нём можно почитать в The KDE Library Reference Guide и Qt online reference. +Как видите, мы лишь расширили возможности кнопки с использованием метода connect(): connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() )) — всё, что мы добавили. Что же это означает? Объявление метода connect() в классе QObject: +bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) +Это значит, что указатель на экземпляр QObject является инициатором сигнала, указанного во втором аргументе. Оставшиеся два аргумента есть объект-приёмник, который имеет слот, а затем и имя функции-слота, которая будет выполнена при получении сигнала. +С помощью сигналов и слотов, объекты ваших программ могут взаимодействовать друг с другом без явной зависимости от типа объекта-приёмника. Далее в этом руководстве приводится более подробное описание работы механзима сигналов/слотов. Коме этого, о нём можно почитать в The KDE Library Reference Guide и Qt online reference. -Что даёт KDE +Что даёт KDE -Библиотеки KDE 3.x -Основные библиотеки KDE, которые вам обязательно понадобятся при написании KDE-программ: -tdecore - все классы с не графическими элементами, предназначенными для обеспечения функциональности приложений -tdeui - элементы пользовательского интерфейса, например меню, панели инструментов и т.д. -tdefile - диалоги выбора файлов +Библиотеки KDE 3.x +Основные библиотеки KDE, которые вам обязательно понадобятся при написании KDE-программ: +tdecore - все классы с не графическими элементами, предназначенными для обеспечения функциональности приложений +tdeui - элементы пользовательского интерфейса, например меню, панели инструментов и т.д. +tdefile - диалоги выбора файлов -Также возможно вам понадобятся библиотеки: -tdefx - растровые изображения, эффекты расширения QStyle - TDEStyle -tdehtml - компонент показа HTML -kjs - поддержка Javascript -tdeio - низкоуровневый доступ к сетевым файлам -tdeparts - поддержка интерфейса компонентов (повторно используемых, внедряемых приложений) +Также возможно вам понадобятся библиотеки: +tdefx - растровые изображения, эффекты расширения QStyle - TDEStyle +tdehtml - компонент показа HTML +kjs - поддержка Javascript +tdeio - низкоуровневый доступ к сетевым файлам +tdeparts - поддержка интерфейса компонентов (повторно используемых, внедряемых приложений) -Теперь давайте попробуем сделать из нашей первой программы на Qt KDE-программу. +Теперь давайте попробуем сделать из нашей первой программы на Qt KDE-программу. -Пример приложения KDE -В дальнейшем вы увидите, что написание программ под KDE ни капельки не труднее написания приложений на Qt. Для использования возможностей KDE, нужно использовать немного другие классы. В этом примере мы обсудим изменения по сравнению с версией на Qt: #include <tdeapplication.h> +Пример приложения KDE +В дальнейшем вы увидите, что написание программ под KDE ни капельки не труднее написания приложений на Qt. Для использования возможностей KDE, нужно использовать немного другие классы. В этом примере мы обсудим изменения по сравнению с версией на Qt: #include <tdeapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -727,141 +310,65 @@ hello.show(); return a.exec(); } - -Вы видите, что мы поменяли класс QApplication на TDEApplication. Затем мы использовали метод setTopWidget вместо setMainWidget() для указания главного элемента управления для TDEApplication. Всё! Ваше первое приложение KDE готово - осталось только указать путь к заголовочным файлам KDE и скомпоновать библиотеку tdecore ключом компоновщика -ltdecore. -Если вы не собираетесь создавать такие простые программы, вам понадобится более удобная среда написания ПО. В следующей главе речь пойдёт о &tdevelop;. -Итак, к этому времени, вы уже прошлись по страницам справочной документации Qt, в т.ч. по классам QApplication, QWidget и QObject, а также по документации библиотеки tdecore, классу TDEApplication. KDE Library Reference handbook содержит полное описание использования конструкторов QApplication и TDEApplication, включая также обработку ключей командной строки. + +Вы видите, что мы поменяли класс QApplication на TDEApplication. Затем мы использовали метод setTopWidget вместо setMainWidget() для указания главного элемента управления для TDEApplication. Всё! Ваше первое приложение KDE готово - осталось только указать путь к заголовочным файлам KDE и скомпоновать библиотеку tdecore ключом компоновщика -ltdecore. +Если вы не собираетесь создавать такие простые программы, вам понадобится более удобная среда написания ПО. В следующей главе речь пойдёт о &tdevelop;. +Итак, к этому времени, вы уже прошлись по страницам справочной документации Qt, в т.ч. по классам QApplication, QWidget и QObject, а также по документации библиотеки tdecore, классу TDEApplication. KDE Library Reference handbook содержит полное описание использования конструкторов QApplication и TDEApplication, включая также обработку ключей командной строки. -Создание новых приложений +Создание новых приложений -Мастер приложений -Мастер приложений (Application Wizard) поможет вам начать, предоставив скелет-основание для ваших программ. В зависимости от цели проекта, вы можете выбрать различный тип шаблона: -KDE Application Framework: полный каркас для обычного приложения KDE -QMake Project: структура программы основывается на системе сборки qmake фирмы Trolltech -Simple hello world program: консольная программа на C++ без графического интерфейса -и немалое количество других шаблонов +Мастер приложений +Мастер приложений (Application Wizard) поможет вам начать, предоставив скелет-основание для ваших программ. В зависимости от цели проекта, вы можете выбрать различный тип шаблона: +KDE Application Framework: полный каркас для обычного приложения KDE +QMake Project: структура программы основывается на системе сборки qmake фирмы Trolltech +Simple hello world program: консольная программа на C++ без графического интерфейса +и немалое количество других шаблонов -В этой главе мы рассмотрим использование Мастера приложений и вообще первые действия при создании проекта KDE. +В этой главе мы рассмотрим использование Мастера приложений и вообще первые действия при создании проекта KDE. -Мастер приложений и генерирование проекта +Мастер приложений и генерирование проекта -Запуск мастера приложений и первая страница -Откройте &tdevelop;, в меню "Проект" выберите "Новый проект". Выберите ветку C++, KDE, Application Framework. -Выберем имя KScribble. +Запуск мастера приложений и первая страница +Откройте &tdevelop;, в меню "Проект" выберите "Новый проект". Выберите ветку C++, KDE, Application Framework. +Выберем имя KScribble. -Мастер приложений - +Мастер приложений + -Система контроля версий -Далее вам нужно будет выбрать систему контроля версий, например CVS, или отказаться от её использования. В нашем случае - это последнее. +Система контроля версий +Далее вам нужно будет выбрать систему контроля версий, например CVS, или отказаться от её использования. В нашем случае - это последнее. -Шаблоны заголовочных и исходных файлов -Отредактируйте текст, который будет добавляться в начало каждого вновь создаваемого файла. Затем нажмите "Готово". Если она неактивна, вернитесь и проверьте правильность выбранных вами параметров. +Шаблоны заголовочных и исходных файлов +Отредактируйте текст, который будет добавляться в начало каждого вновь создаваемого файла. Затем нажмите "Готово". Если она неактивна, вернитесь и проверьте правильность выбранных вами параметров. -Окончание -Откроется окно с сообщениями, в котором, после успешного завершения генерирования нового проекта, должна появиться надпись **** Success *****. +Окончание +Откроется окно с сообщениями, в котором, после успешного завершения генерирования нового проекта, должна появиться надпись **** Success *****. -Первая сборка -Давайте пройдёмся по выданному мастером коду для получения общего представления по структуре программы. -Далее предполагается, что вы освоились с базовой навигацией &tdevelop;. Если это не так, обратитесь к руководству KDevelop. -Менеджер Automake отображает файлы проекта: +Первая сборка +Давайте пройдёмся по выданному мастером коду для получения общего представления по структуре программы. +Далее предполагается, что вы освоились с базовой навигацией &tdevelop;. Если это не так, обратитесь к руководству KDevelop. +Менеджер Automake отображает файлы проекта: -Файлы нашего проекта - +Файлы нашего проекта + -Перед углублением в исходники, выполним сборку. Для этого выберите "Собрать проект" из меню "Сборка", или просто нажмите F8. В появившемся окне вывода будут выводиться сообщения сборщика make. 1 cd /home/caleb/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k +Перед углублением в исходники, выполним сборку. Для этого выберите "Собрать проект" из меню "Сборка", или просто нажмите F8. В появившемся окне вывода будут выводиться сообщения сборщика make. 1 cd /home/caleb/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k 2 gmake all-recursive 3 gmake[1]: Entering directory `/home/caleb/kscribble' 4 Making all in doc @@ -923,8 +430,7 @@ return a.exec(); -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c -o pref.o `test -f 'pref.cpp' || echo '/home/caleb/kscribble/src/'`pref.cpp -47 /usr/local/kde3/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h -> kscribbleiface.kidl || +47 /usr/local/kde3/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h > kscribbleiface.kidl || ( rm -f kscribbleiface.kidl ; /bin/false ) 48 /usr/local/kde3/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub kscribbleiface.kidl 49 source='kscribbleiface_skel.cpp' object='kscribbleiface_skel.o' libtool=no \ @@ -963,36 +469,18 @@ return a.exec(); 64 *** Success *** -Мы пронумеровали строки для простоты их описания. Прежде всего, gmake работает рекурсивно. Это значит, что сначала он находит самый глубоковложенный каталог, обрабатывает его, затем подымается на уровень выше, обрабатывает этот каталог и так далее до самого верхнего. -Первая, интересующая нас строка - 24. В ней make обращается к GNU C++ компилятору g++ для компиляции файла main.cpp. При этом используется некоторое количество дополнительных ключей, многие из которых можно настроить через &tdevelop;. -Перед компилированием следующего файла (kscribble.cpp, строка 29) вызывается команда moc (meta object compiler, компилятор мета-объектов) для kscribble.h (строка 25). Это из-за того, что классы KScribble используют механизм сигналов/слотов. Она подставляет вместо макроса Q_OBJECT действительный код. Получившийся файл, kscribble.moc, используется kscribble.cpp через #include. +Мы пронумеровали строки для простоты их описания. Прежде всего, gmake работает рекурсивно. Это значит, что сначала он находит самый глубоковложенный каталог, обрабатывает его, затем подымается на уровень выше, обрабатывает этот каталог и так далее до самого верхнего. +Первая, интересующая нас строка - 24. В ней make обращается к GNU C++ компилятору g++ для компиляции файла main.cpp. При этом используется некоторое количество дополнительных ключей, многие из которых можно настроить через &tdevelop;. +Перед компилированием следующего файла (kscribble.cpp, строка 29) вызывается команда moc (meta object compiler, компилятор мета-объектов) для kscribble.h (строка 25). Это из-за того, что классы KScribble используют механизм сигналов/слотов. Она подставляет вместо макроса Q_OBJECT действительный код. Получившийся файл, kscribble.moc, используется kscribble.cpp через #include. -Базовый исходный код -Чтобы понять принцип работы KDE-программы, давайте сначала поближе рассмотрим исходный код, предоставленный Мастером приложений. Разберём код (почти) построчно, в том порядке, в котором он выполняется, до момента, когда программа войдёт в главный цикл событий и будет ожидать действий от пользователя. Т.к. большинство программ KDE имеют похожую структуру, это поможет вам легче ориентироваться в коде других программ (благо, се они распространяются с открытым исходным кодом). +Базовый исходный код +Чтобы понять принцип работы KDE-программы, давайте сначала поближе рассмотрим исходный код, предоставленный Мастером приложений. Разберём код (почти) построчно, в том порядке, в котором он выполняется, до момента, когда программа войдёт в главный цикл событий и будет ожидать действий от пользователя. Т.к. большинство программ KDE имеют похожую структуру, это поможет вам легче ориентироваться в коде других программ (благо, се они распространяются с открытым исходным кодом). -Функция main() -Выполнение программы начинается с функции main(). Она прописана в файле main.cpp, её можно найти через "Обзор классов", в ветке "Глобальные функции". 1 int main(int argc, char **argv) +Функция main() +Выполнение программы начинается с функции main(). Она прописана в файле main.cpp, её можно найти через "Обзор классов", в ветке "Глобальные функции". 1 int main(int argc, char **argv) 2 { 3 TDEAboutData about("kscribble", I18N_NOOP("KScribble"), version, description, 4 TDEAboutData::License_GPL, "(C) 2002 Your Name", 0, 0, "you@you.com"); @@ -1032,27 +520,18 @@ return a.exec(); 38 return app.exec(); 39 } - -В ней создаётся объект TDEApplication, но перед этим добавляются некоторые методы KDE, указывающие информацию о программе и авторе. + +В ней создаётся объект TDEApplication, но перед этим добавляются некоторые методы KDE, указывающие информацию о программе и авторе. -Запуск пользвтельского приложения +Запуск пользвтельского приложения -... (забыли написать) +... (забыли написать) -Конструктор -Давайте посмотрим на использование конструктора 1 KScribble::KScribble() +Конструктор +Давайте посмотрим на использование конструктора 1 KScribble::KScribble() 2 : TDEMainWindow( 0, "KScribble" ), 3 m_view(new KScribbleView(this)), 4 m_printer(0) @@ -1078,792 +557,342 @@ return a.exec(); 24 } -KScribble наследует класс TDEMainWindow - базовый класс KDE-программ. Класс KScribbleView инициализируется как центральный элемент управления, KStatusBar создаётся методом statusBar() (строка 16), затем некоторые сигналы соединяются со слотами. +KScribble наследует класс TDEMainWindow - базовый класс KDE-программ. Класс KScribbleView инициализируется как центральный элемент управления, KStatusBar создаётся методом statusBar() (строка 16), затем некоторые сигналы соединяются со слотами. -Создание представления +Создание представления -Введение -При объектно-ориентированной разработке программ (с графическим интерфейсом), большая часть работы заключается в разработке т.н. "представления" ("view", дизайна пользовательского интерфейса) Нужно уметь эргономично располагать элементы управления в окнах и других объектах, не злоупотреблять, но и не пренебрегать ними. Программа реализует свою интерактивность именно через элементы управления, соединённые со слотами, а также через клавиатуру - реагируя на нажатия определённых (комбинаций) клавиш. Панель состояния предназначена для отображения текущей (некритичной) информации, например о состоянии приложения, или о свойствах открытого документа. Рассмотрим конструирование пользовательского интерфейса на примере редактора. -Редактор - это программа, предназначенная для просмотра и/или редактирования содержимого текстовых файлов. Если вы запустите Kate, то увидите следующие элементы интерфейса: -Меню: комплексные (в т.ч. не часто используюмые) действия, открытие, сохранение и закрытие файлов и т.д. -Панель инструментов: набор значков, предоставляющих быстрый доступ к наиболее часто используемым действиям (таковые, при желании, определяются пользователем), -Панель состояния: позиция курсора, вставка/замена, -Представление, отображающее содержание файла, содержащее курсор, управляемый с клавиатуры, для работы с данными. +Введение +При объектно-ориентированной разработке программ (с графическим интерфейсом), большая часть работы заключается в разработке т.н. "представления" ("view", дизайна пользовательского интерфейса) Нужно уметь эргономично располагать элементы управления в окнах и других объектах, не злоупотреблять, но и не пренебрегать ними. Программа реализует свою интерактивность именно через элементы управления, соединённые со слотами, а также через клавиатуру - реагируя на нажатия определённых (комбинаций) клавиш. Панель состояния предназначена для отображения текущей (некритичной) информации, например о состоянии приложения, или о свойствах открытого документа. Рассмотрим конструирование пользовательского интерфейса на примере редактора. +Редактор - это программа, предназначенная для просмотра и/или редактирования содержимого текстовых файлов. Если вы запустите Kate, то увидите следующие элементы интерфейса: +Меню: комплексные (в т.ч. не часто используюмые) действия, открытие, сохранение и закрытие файлов и т.д. +Панель инструментов: набор значков, предоставляющих быстрый доступ к наиболее часто используемым действиям (таковые, при желании, определяются пользователем), +Панель состояния: позиция курсора, вставка/замена, +Представление, отображающее содержание файла, содержащее курсор, управляемый с клавиатуры, для работы с данными. -Последняя является наиболее уникальной частю программы. Правильное её проектирование определяет простоту использования программы ("usability"). Это значит, что одним их первых шагов при разработке должно быть определение задач программы и какой дизайн подойдёт лучше, так, чтобы на обучение и, самое главное, на работу с программой, требовалось как можно меньше времени. -Для таких задач как редактирование текста и отображение HTML, библиотеки Qt и KDE предоставляют уже готовые решения, "представления", по сути - высокоуровневые элементы управления. Но для большинства приложений, всё же придётся делать новые элементы управления. Вот что делает из программиста дизайнера и где становится востребованной вещь, называемая модным словом "креатив", или попросту творчество. Тут, прежде всего, главное интуитивность. Помните, что большинство людей не будут использовать программу, которая не: -красивая -предлагает большое количество возможностей -простая в использовании -быстрая в изучении +Последняя является наиболее уникальной частю программы. Правильное её проектирование определяет простоту использования программы ("usability"). Это значит, что одним их первых шагов при разработке должно быть определение задач программы и какой дизайн подойдёт лучше, так, чтобы на обучение и, самое главное, на работу с программой, требовалось как можно меньше времени. +Для таких задач как редактирование текста и отображение HTML, библиотеки Qt и KDE предоставляют уже готовые решения, "представления", по сути - высокоуровневые элементы управления. Но для большинства приложений, всё же придётся делать новые элементы управления. Вот что делает из программиста дизайнера и где становится востребованной вещь, называемая модным словом "креатив", или попросту творчество. Тут, прежде всего, главное интуитивность. Помните, что большинство людей не будут использовать программу, которая не: +красивая +предлагает большое количество возможностей +простая в использовании +быстрая в изучении -Излишним будет говорить, что стабильность - самая главная цель. Никто не может 100% избежать ошибок ("bugs"), но разумное проектирование позволяет значительно уменьшить количество возможных недоработок. Программирование на C++, если вы знаете как использовать его лучшие стороны - наследовательность, скрытие информации (модульность) и повторное использование одного кода, безусловно принесёт вам успех. -При создании проекта KDE или Qt, его представление (view) всегда наследует QWidget, либо напрямую, либо через другие элементы управления библиотек. Мастер приложений также создёт код, содержащий класс yourappView, наследователь QWidget. -В этой главе мы опишем как использовать элементы управления библиотек для создания новыхпредставлений, потом будет обзор готовых представлений, которые они уже содержат. +Излишним будет говорить, что стабильность - самая главная цель. Никто не может 100% избежать ошибок ("bugs"), но разумное проектирование позволяет значительно уменьшить количество возможных недоработок. Программирование на C++, если вы знаете как использовать его лучшие стороны - наследовательность, скрытие информации (модульность) и повторное использование одного кода, безусловно принесёт вам успех. +При создании проекта KDE или Qt, его представление (view) всегда наследует QWidget, либо напрямую, либо через другие элементы управления библиотек. Мастер приложений также создёт код, содержащий класс yourappView, наследователь QWidget. +В этой главе мы опишем как использовать элементы управления библиотек для создания новыхпредставлений, потом будет обзор готовых представлений, которые они уже содержат. -Использование библиотечных представлений -После проектирования вашего приложения, просмотрите уже существующий код. В т.ч. найдите элемент управления, который можно использовать как представление, или хотябы как его часть, либо напрямую, либо наследованием. Библиотеки KDE и Qt уже содержат набор элементов управления, которые можно для этого использовать. Есть два способа этого: -Удалить класс текущего представления и создать экземпляр библиотечного элемента управления, затем установить его как представление, -Изменить наследование текущего класса представления. +Использование библиотечных представлений +После проектирования вашего приложения, просмотрите уже существующий код. В т.ч. найдите элемент управления, который можно использовать как представление, или хотябы как его часть, либо напрямую, либо наследованием. Библиотеки KDE и Qt уже содержат набор элементов управления, которые можно для этого использовать. Есть два способа этого: +Удалить класс текущего представления и создать экземпляр библиотечного элемента управления, затем установить его как представление, +Изменить наследование текущего класса представления. -В любом случае, не забудьте связать программу с библиотекой с элементом управления, иначе компоновщик будет выдавать ошибку. Перейдите в "Проект"->"Параметры", вкладка "Параметры компоновщика" в &tdevelop;. Если в списке не будет этой библиотеки, допишите её сюда. Чтобы изменить список библиотек, которые должны быть найдены сценарием configure, добавьте соответствующий макрос в configure.in из корневого каталога вашего проекта. После этого, не забудьте выполнить "Сборка"->"Autoconf и automake" и "Сборка"->"Configure". -Также, если заголовочные файлы библиотеки находятся не в стандартном каталоге (это можно проверить по ключам -I окна вывода команды "Make"), на вкладке "Параметры компиляции" настроек проекта, добавьте нужный каталог с ключём -I или соответствующим макросом automake в поле "Дополнительные параметры". +В любом случае, не забудьте связать программу с библиотекой с элементом управления, иначе компоновщик будет выдавать ошибку. Перейдите в "Проект"->"Параметры", вкладка "Параметры компоновщика" в &tdevelop;. Если в списке не будет этой библиотеки, допишите её сюда. Чтобы изменить список библиотек, которые должны быть найдены сценарием configure, добавьте соответствующий макрос в configure.in из корневого каталога вашего проекта. После этого, не забудьте выполнить "Сборка"->"Autoconf и automake" и "Сборка"->"Configure". +Также, если заголовочные файлы библиотеки находятся не в стандартном каталоге (это можно проверить по ключам -I окна вывода команды "Make"), на вкладке "Параметры компиляции" настроек проекта, добавьте нужный каталог с ключём -I или соответствующим макросом automake в поле "Дополнительные параметры". -Представления Qt -На первой странице документации Qt вы можете найти ссылку на "Widget Screenshots", чтобы выбрать нужный. Они уже готовы к использованию, и их можно совмещать. Далее, мы обсудим некоторые из них, но помните, что библиотеки KDE могут содержать свои (доработанные) элементы управления, предназначенные для тех же задач. -Вот несколько компонентов Qt и их назначения: -Если в области вашего представления не хватает свободного места, пользователь должен перемещаться по документу с помощью полос прокрутки. Для этого, в Qt есть класс QScrollView. Вы можете сделать свой элемент управления наследником QScrollView или использовать его экземпляр для управления представлением. -Для создания ScrollView, унаследуйте виджет-представление от QWidget и и добавьте вертикальные и горизонтальные полосы прокрутки QScrollBars (так делается в TDEHTMLView). -Для обработки текста, пвоспользуйтесь QTextEdit. Этот класс предоставляет законченный виджет текстового редактора, который уже поддерживает операции с буфером обмена, а также управляется полосами прокрутки scrollview. -Воспользуйтесь QTable для отображения данных, организованных в таблицу. QTable также управляется полосами прокрутки. -Для отображения двух различных виджетов или двух экземпляров одного виджета одновременно, воспользуйтесь QSplitter . Он позволяет разделить представления горизонтально или вертикально. Его использует KMail и KBabel. -QListView отображает данные в виде списка и дерева. Используйте его для вывода иерархических данных. +Представления Qt +На первой странице документации Qt вы можете найти ссылку на "Widget Screenshots", чтобы выбрать нужный. Они уже готовы к использованию, и их можно совмещать. Далее, мы обсудим некоторые из них, но помните, что библиотеки KDE могут содержать свои (доработанные) элементы управления, предназначенные для тех же задач. +Вот несколько компонентов Qt и их назначения: +Если в области вашего представления не хватает свободного места, пользователь должен перемещаться по документу с помощью полос прокрутки. Для этого, в Qt есть класс QScrollView. Вы можете сделать свой элемент управления наследником QScrollView или использовать его экземпляр для управления представлением. +Для создания ScrollView, унаследуйте виджет-представление от QWidget и и добавьте вертикальные и горизонтальные полосы прокрутки QScrollBars (так делается в TDEHTMLView). +Для обработки текста, пвоспользуйтесь QTextEdit. Этот класс предоставляет законченный виджет текстового редактора, который уже поддерживает операции с буфером обмена, а также управляется полосами прокрутки scrollview. +Воспользуйтесь QTable для отображения данных, организованных в таблицу. QTable также управляется полосами прокрутки. +Для отображения двух различных виджетов или двух экземпляров одного виджета одновременно, воспользуйтесь QSplitter . Он позволяет разделить представления горизонтально или вертикально. Его использует KMail и KBabel. +QListView отображает данные в виде списка и дерева. Используйте его для вывода иерархических данных. -Всё, что вам нужно, уже есть в Qt, вам остаётся лишь узнать о нужном вам элементе, научиться его использовать, и, если необходимо, дополнять. Использование стандартных решений позволяет пользователям, привыкшим к ним, сконцентрироваться на информации, которую они несут. +Всё, что вам нужно, уже есть в Qt, вам остаётся лишь узнать о нужном вам элементе, научиться его использовать, и, если необходимо, дополнять. Использование стандартных решений позволяет пользователям, привыкшим к ним, сконцентрироваться на информации, которую они несут. -Представления KDE -Библиотеки KDE созданы чтобы ещё более упростить создание приложений для K Desktop Environment. Библиотека tdeui предлагает: -TDEListView: более мощная версия QListView -TDEIconView: графический просмотр значков +Представления KDE +Библиотеки KDE созданы чтобы ещё более упростить создание приложений для K Desktop Environment. Библиотека tdeui предлагает: +TDEListView: более мощная версия QListView +TDEIconView: графический просмотр значков -Библиотека tdehtml предоставляет полный интерпретатор HTML. Вы можете использовать его для оформления вида вашего приложения по его запуску. +Библиотека tdehtml предоставляет полный интерпретатор HTML. Вы можете использовать его для оформления вида вашего приложения по его запуску. -Создание собственных представлений -НАПИСАТЬ +Создание собственных представлений +НАПИСАТЬ -Настройка меню и панелей инструментов +Настройка меню и панелей инструментов -Введение -Меню и панели инструментов - одни из самых главных частей приложения для работы с документами. Следуя общим правилам, все возможные действия должны быть доступны через меню, и только часто используемые - на панели инструментов. -В программе может быть несколько панелей инструментов. Они, кроме кнопок, могут также содержать выпадающие списки и т.д. +Введение +Меню и панели инструментов - одни из самых главных частей приложения для работы с документами. Следуя общим правилам, все возможные действия должны быть доступны через меню, и только часто используемые - на панели инструментов. +В программе может быть несколько панелей инструментов. Они, кроме кнопок, могут также содержать выпадающие списки и т.д. -Как это работает? -Приожение наследует класс TDEMainWindow, который сам заботится о создании панели инструментов и меню. В методе KScribble::setupActions() есть вызов TDEMainWindow::createGUI(). Этот метод загружает файл ресурсов, в нашем случае это kscribbleui.rc, для инциализации меню. Вот его содержание: 1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +Как это работает? +Приожение наследует класс TDEMainWindow, который сам заботится о создании панели инструментов и меню. В методе KScribble::setupActions() есть вызов TDEMainWindow::createGUI(). Этот метод загружает файл ресурсов, в нашем случае это kscribbleui.rc, для инциализации меню. Вот его содержание: 1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> 2 <kpartgui name="kscribble" version="1"> 3 <MenuBar> -4 <Menu name="custom" -><text ->C&ustom</text> +4 <Menu name="custom"><text>C&ustom</text> 5 <Action name="custom_action" /> 6 </Menu> 7 </MenuBar> -8 </kpartgui -> +8 </kpartgui> -Объяснение... -Можо обойтись и без файла ресурсов. Например, метод menuBar() возвращает элемент управления KMenuBar, являющийся меню для нашей програмы. KMenuBar и его родительский класс QMenuBar имеют большое количество методов insertItem() для добавления пунктов меню. -Методы TDEMainWindowstatusBar() и toolBar() также предоставляют соответствующие элементы управления. +Объяснение... +Можо обойтись и без файла ресурсов. Например, метод menuBar() возвращает элемент управления KMenuBar, являющийся меню для нашей програмы. KMenuBar и его родительский класс QMenuBar имеют большое количество методов insertItem() для добавления пунктов меню. +Методы TDEMainWindowstatusBar() и toolBar() также предоставляют соответствующие элементы управления. -Настройка комбинаций клавиш. -Вы должны всегда заботиться о том, чтобы все действия в вашей пограмме можно было выполнить лишь с клавиатуры. Такой метод используется опытными пользователями. Для этого в библиотеках KDE естькласс TDEAction. -Программы, сгенерированные &tdevelop;, только используют стандартные комбинации клавиш, такие как F1 или Ctrl+N. -Если в вашей программе много компбинаций клавиш, лучше сделать их настраиваемыми (через меню Настройка->Комбинации клавиш). Библиотека KDE предоставляет для этого класс KKeyChooser для использования в диалогах с вкладками, тогда как KKeyDialog предоставляет отдельный диалог. +Настройка комбинаций клавиш. +Вы должны всегда заботиться о том, чтобы все действия в вашей пограмме можно было выполнить лишь с клавиатуры. Такой метод используется опытными пользователями. Для этого в библиотеках KDE естькласс TDEAction. +Программы, сгенерированные &tdevelop;, только используют стандартные комбинации клавиш, такие как F1 или Ctrl+N. +Если в вашей программе много компбинаций клавиш, лучше сделать их настраиваемыми (через меню Настройка->Комбинации клавиш). Библиотека KDE предоставляет для этого класс KKeyChooser для использования в диалогах с вкладками, тогда как KKeyDialog предоставляет отдельный диалог. -Справка +Справка -Введение -Помните, что не все пользователи - Linux-гуру и для некоторых из них нужна справка (как контекстная, так и просто руководство): +Введение +Помните, что не все пользователи - Linux-гуру и для некоторых из них нужна справка (как контекстная, так и просто руководство): -Всплывающие подсказки -Сообщения в строке состояния -Что это? +Всплывающие подсказки +Сообщения в строке состояния +Что это? -Ну, и конечно же, руководство, вызываемое через F1. Всё это предоставляется классом TDEMainWindow, а вам лишь остаётся наполнить его содержимым. -&tdevelop; содержит вспомогательные средства для включения всех типов справки в ваше приложение. -В процессе разрабтки вашего приложения, попытайтесь быть последовательными ввезде. Пишите справку сразу после написания кода. Иначе потом придётся заново лезть в код и разбираться что к чему. +Ну, и конечно же, руководство, вызываемое через F1. Всё это предоставляется классом TDEMainWindow, а вам лишь остаётся наполнить его содержимым. +&tdevelop; содержит вспомогательные средства для включения всех типов справки в ваше приложение. +В процессе разрабтки вашего приложения, попытайтесь быть последовательными ввезде. Пишите справку сразу после написания кода. Иначе потом придётся заново лезть в код и разбираться что к чему. -Всплывающие подсказки -Самая простая справка - всплывающие подсказки (появляющиеся после задержки курсора над объектом). Наиболее часто они используются на панелях инструментов. За подробностями обращайтесь к документации класса TDEToolBar, расположенного в библиотке tdeui. -Как пример, мы рассмотрим кнопку "New File": -i18n("New File") нужна заключать в макрос i18n(), описанный в kapp.h, для отметки этой строки для перевода на другие языки. -Подсказки также можно добавлять в любой другой элемент управления через QToolTip: +Всплывающие подсказки +Самая простая справка - всплывающие подсказки (появляющиеся после задержки курсора над объектом). Наиболее часто они используются на панелях инструментов. За подробностями обращайтесь к документации класса TDEToolBar, расположенного в библиотке tdeui. +Как пример, мы рассмотрим кнопку "New File": +i18n("New File") нужна заключать в макрос i18n(), описанный в kapp.h, для отметки этой строки для перевода на другие языки. +Подсказки также можно добавлять в любой другой элемент управления через QToolTip: -Расширение панели состояния -Т.к. приложения, наследующие класс TDEMainWindow, содержат также панель состояния, её можно использовать для отображения более длинного теекста, чем в подсказке. +Расширение панели состояния +Т.к. приложения, наследующие класс TDEMainWindow, содержат также панель состояния, её можно использовать для отображения более длинного теекста, чем в подсказке. -Кнопка <guibutton ->Что это?</guibutton -> -Подсказка Что это? должна содержать кратку справку (абзац-два) по выбраному элементу. Сама кнопка Что это? обычно располагается либо в меню, либо на панели инструментов, либо в загаловке окна. После нажатия на ней, пользователь должен нажать на нужной объекте. -Для добавления такой справки, воспользуйтесь статическим методом QWhatsThis::add(QWidget *widget, const QString &text) +Кнопка <guibutton>Что это?</guibutton> +Подсказка Что это? должна содержать кратку справку (абзац-два) по выбраному элементу. Сама кнопка Что это? обычно располагается либо в меню, либо на панели инструментов, либо в загаловке окна. После нажатия на ней, пользователь должен нажать на нужной объекте. +Для добавления такой справки, воспользуйтесь статическим методом QWhatsThis::add(QWidget *widget, const QString &text) -Документация +Документация -Введение -Програмы, создаваемые в &tdevelop; уже содержат шаблон для документации. +Введение +Програмы, создаваемые в &tdevelop; уже содержат шаблон для документации. -Пользовательская документация -Документация для вашего проекта располагается в путь-к-проекту/doc/en/index.docbook. Справка по языку разметки, используемому для написания докуметтации, можно найти на KDE's documentation website. Если вы испытываете трудности в написании руководства на английском, можете обратиться к KDE Editorial Team (см. ссылку выше). +Пользовательская документация +Документация для вашего проекта располагается в путь-к-проекту/doc/en/index.docbook. Справка по языку разметки, используемому для написания докуметтации, можно найти на KDE's documentation website. Если вы испытываете трудности в написании руководства на английском, можете обратиться к KDE Editorial Team (см. ссылку выше). -Документация для разработчиков -Данная документация обычно генерируется автоматически и содержит описание классов приложения. Например, так создаётся документация к библиотеке KDE. За подробностями обращайтесь сюда +Документация для разработчиков +Данная документация обычно генерируется автоматически и содержит описание классов приложения. Например, так создаётся документация к библиотеке KDE. За подробностями обращайтесь сюда -Интернационализация +Интернационализация -Введение -i18n - сокращение от internationalization. Интернационализация заключается в переводе всех сообщений программы на другие языки, а также всесторонней их поддержке (как-то множественные формы, поддержка кодировок и т.д.). Изначально программа и документация к ней должны быть на английском, т.к. большинство потенциальных переводчиков знает именно этот язык (если бы KDE был изначально на немецком, врядли мы бы увидели его русский перевод). +Введение +i18n - сокращение от internationalization. Интернационализация заключается в переводе всех сообщений программы на другие языки, а также всесторонней их поддержке (как-то множественные формы, поддержка кодировок и т.д.). Изначально программа и документация к ней должны быть на английском, т.к. большинство потенциальных переводчиков знает именно этот язык (если бы KDE был изначально на немецком, врядли мы бы увидели его русский перевод). + --> -Перевод +Перевод -Перевод осуществил Н. Шафоростов, http://program.net.ua +Перевод осуществил Н. Шафоростов, http://program.net.ua - + -Библиография +Библиография -<ulink url="info://make/Top" ->GNU Make Manual</ulink -> +<ulink url="info://make/Top">GNU Make Manual</ulink> -Richard M.Stallman -RolandMcGrath +Richard M.Stallman +RolandMcGrath -<ulink url="info://automake/Top" ->GNU Automake</ulink -> +<ulink url="info://automake/Top">GNU Automake</ulink> -DavidMacKenzie -TomTromey +DavidMacKenzie +TomTromey -<ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -> +<ulink url="info://autoconf/Top">GNU Autoconf</ulink> -DavidMacKenzie -BenElliston +DavidMacKenzie +BenElliston -<ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -> -Richard M.Stallman +<ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink> +Richard M.Stallman -<ulink url="info://libtool/Top" ->GNU Libtool</ulink -> +<ulink url="info://libtool/Top">GNU Libtool</ulink> -GordonMatzigkeit -AlexandreOliva -ThomasTanner -Gary V.Vaughan +GordonMatzigkeit +AlexandreOliva +ThomasTanner +Gary V.Vaughan -GNU Autoconf, Automake и Libtool -1st edition -October 2000 +GNU Autoconf, Automake и Libtool +1st edition +October 2000 -Gary V.Vaughan -BenElliston -TomTromey -Ian LanceTaylor +Gary V.Vaughan +BenElliston +TomTromey +Ian LanceTaylor -New Riders Publishing -ISBN 1578701902 +New Riders Publishing +ISBN 1578701902 -Advanced Programming in the UNIX(R) Environment -1st edition -June 1992 -W. RichardStevens -Addison-Wesley Pub Co -ISBN 0201563177 +Advanced Programming in the UNIX(R) Environment +1st edition +June 1992 +W. RichardStevens +Addison-Wesley Pub Co +ISBN 0201563177 -Thinking in C++, Volume 1: Introduction to Standard C++ -2nd Edition -April 15, 2000 -BruceEckel -Prentice Hall -ISBN 0139798099 +Thinking in C++, Volume 1: Introduction to Standard C++ +2nd Edition +April 15, 2000 +BruceEckel +Prentice Hall +ISBN 0139798099 -Open Source Development with CVS -2nd Edition -October 12, 2001 +Open Source Development with CVS +2nd Edition +October 12, 2001 -KarlFogel -MosheBar +KarlFogel +MosheBar -The Coriolis Group -ISBN 158880173X +The Coriolis Group +ISBN 158880173X -Programming PHP -1st edition -March 2002 +Programming PHP +1st edition +March 2002 -RasmusLerdorf -KevinTatroe +RasmusLerdorf +KevinTatroe -O'Reilly & Associates -ISBN 1565926102 +O'Reilly & Associates +ISBN 1565926102 -Programming Python -2nd Edition -March 2001 -MarkLutz -O'Reilly & Associates -ISBN 0596000855 +Programming Python +2nd Edition +March 2001 +MarkLutz +O'Reilly & Associates +ISBN 0596000855 -Gui Programming With Python : Using the Qt Toolkit -Bk&Cd-r edition -January 2002 -BoudewijnRempt -Opendocs Llc -ISBN 0970033044 +Gui Programming With Python : Using the Qt Toolkit +Bk&Cd-r edition +January 2002 +BoudewijnRempt +Opendocs Llc +ISBN 0970033044 -Programming Perl -The Camel book -3rd Edition -July 2000 +Programming Perl +The Camel book +3rd Edition +July 2000 -LarryWall -TomChristiansen -JonOrwant +LarryWall +TomChristiansen +JonOrwant -O'Reilly & Associates -ISBN 0596000278 +O'Reilly & Associates +ISBN 0596000278 -Learning Perl -The Lama book -3rd Edition -July 15, 2001 +Learning Perl +The Lama book +3rd Edition +July 15, 2001 -Randal L.Schwartz -TomPhoenix +Randal L.Schwartz +TomPhoenix -O'Reilly & Associates -ISBN 0596001320 +O'Reilly & Associates +ISBN 0596001320 diff --git a/tde-i18n-ru/docs/tdevelop/kdearch/index.docbook b/tde-i18n-ru/docs/tdevelop/kdearch/index.docbook index bb7271535b8..36397c33db3 100644 --- a/tde-i18n-ru/docs/tdevelop/kdearch/index.docbook +++ b/tde-i18n-ru/docs/tdevelop/kdearch/index.docbook @@ -1,137 +1,74 @@ - + ]> -Обзор архитектуры KDE +Обзор архитектуры KDE - - + + -Bernd Gehrmann
bernd@kdevelop.org
+Bernd Gehrmann
bernd@kdevelop.org
-2001 -2002 -Bernd Gehrmann (перевод на русский - (С) 2004 Николай Шафоростов, http://program.net.ua) +2001 +2002 +Bernd Gehrmann (перевод на русский - (С) 2004 Николай Шафоростов, http://program.net.ua) -&FDLNotice; +&FDLNotice; -Документ содержит краткий обзор архтитектуры KDE Development Platform +Документ содержит краткий обзор архтитектуры KDE Development Platform -KDE -архитектура -разработка -программирование +KDE +архитектура +разработка +программирование
-Структура библиотек +Структура библиотек -Библиотеки по имени +Библиотеки по имени -tdecore -tdecore - основа, каркас для любого приложения KDE. Она обеспечивает доступ к системе конфигурации, обработке командной строки, загрузке и управлению значками, межпроцессное взаимодействие и т.д. +tdecore +tdecore - основа, каркас для любого приложения KDE. Она обеспечивает доступ к системе конфигурации, обработке командной строки, загрузке и управлению значками, межпроцессное взаимодействие и т.д. -tdeui -Библиотека tdeui содержит большое количество элементов управления и стандартных диалогов, которых нет в Qt или которые имеют расширенную функциональность по сравнению с их аналогами. +tdeui +Библиотека tdeui содержит большое количество элементов управления и стандартных диалогов, которых нет в Qt или которые имеют расширенную функциональность по сравнению с их аналогами. -tdeio -Библиотека tdeio содержит удобства для асинхронного, сетевого файлового ввода/вывода и доступ к обработчику mimetype. Она также содержит диалог открытия файлов и его вспомогательные классы. +tdeio +Библиотека tdeio содержит удобства для асинхронного, сетевого файлового ввода/вывода и доступ к обработчику mimetype. Она также содержит диалог открытия файлов и его вспомогательные классы. -kjs -Библиотека kjs содержит реализацию JavaScript. +kjs +Библиотека kjs содержит реализацию JavaScript. -tdehtml -Библиотека tdehtml содержит компонент TDEHTML, виджет для отображения HTML, DOM API, включая интерфейсы к Java и JavaScript. +tdehtml +Библиотека tdehtml содержит компонент TDEHTML, виджет для отображения HTML, DOM API, включая интерфейсы к Java и JavaScript. @@ -140,928 +77,382 @@ -Сгруппированные классы +Сгруппированные классы -Каркас приложения - классы, требуемые для любого KDE-приложения. +Каркас приложения - классы, требуемые для любого KDE-приложения. - -<ulink url="kdeapi:tdecore/TDEApplication" ->TDEApplication</ulink -> -инициализация и контроль приложения - - - -<ulink url="kdeapi:tdecore/KUniqueApplication" ->KUniqueApplication</ulink -> -Позволяет запускать только один экземпляр приложения. - - -<ulink url="kdeapi:tdecore/TDEAboutData" ->TDEAboutData</ulink -> -Хранение и отображение информации об авторах программы. - - -<ulink url="kdeapi:tdecore/TDECmdLineArgs" ->TDECmdLineArgs</ulink -> -Обработка ключей командной строки. - + +<ulink url="kdeapi:tdecore/TDEApplication">TDEApplication</ulink> +инициализация и контроль приложения + + + +<ulink url="kdeapi:tdecore/KUniqueApplication">KUniqueApplication</ulink> +Позволяет запускать только один экземпляр приложения. + + +<ulink url="kdeapi:tdecore/TDEAboutData">TDEAboutData</ulink> +Хранение и отображение информации об авторах программы. + + +<ulink url="kdeapi:tdecore/TDECmdLineArgs">TDECmdLineArgs</ulink> +Обработка ключей командной строки. + -Доступ к иерархической базе данных конфигурации KDE, глобальные параметры и ресурсы приложения. +Доступ к иерархической базе данных конфигурации KDE, глобальные параметры и ресурсы приложения. -<ulink url="kdeapi:tdecore/TDEConfig" ->TDEConfig</ulink -> -Доступ к файлам конфигурации KDE. - - -<ulink url="kdeapi:tdecore/KSimpleConfig" ->KSimpleConfig</ulink -> -Простой доступ к простым файлам конфигурации. - - -<ulink url="kdeapi:tdecore/KDesktopFile" ->KDesktopFile</ulink -> -Доступ к файлам .desktop. - - -<ulink url="kdeapi:tdecore/TDEGlobalSettings" ->TDEGlobalSettings</ulink -> -Доступ к общим настройкам. - +<ulink url="kdeapi:tdecore/TDEConfig">TDEConfig</ulink> +Доступ к файлам конфигурации KDE. + + +<ulink url="kdeapi:tdecore/KSimpleConfig">KSimpleConfig</ulink> +Простой доступ к простым файлам конфигурации. + + +<ulink url="kdeapi:tdecore/KDesktopFile">KDesktopFile</ulink> +Доступ к файлам .desktop. + + +<ulink url="kdeapi:tdecore/TDEGlobalSettings">TDEGlobalSettings</ulink> +Доступ к общим настройкам. + -Обработка имён файлов и URL - разбор URL по частям, временные файлы. +Обработка имён файлов и URL - разбор URL по частям, временные файлы. -<ulink url="kdeapi:tdecore/KURL" ->KURL</ulink -> -Обработка URL. - - -<ulink url="kdeapi:tdecore/KTempFile" ->KTempFile</ulink -> -Работа с временными файлами. - - -<ulink url="kdeapi:tdecore/KSaveFile" ->KSaveFile</ulink -> -Сохранение файлов. - +<ulink url="kdeapi:tdecore/KURL">KURL</ulink> +Обработка URL. + + +<ulink url="kdeapi:tdecore/KTempFile">KTempFile</ulink> +Работа с временными файлами. + + +<ulink url="kdeapi:tdecore/KSaveFile">KSaveFile</ulink> +Сохранение файлов. + -Взаимодействие процессов - DCOP. +Взаимодействие процессов - DCOP. -<ulink url="kdeapi:tdecore/TDEProcess" ->TDEProcess</ulink -> -Запуск и контроль дочерних процессов. - - -<ulink url="kdeapi:tdecore/KShellProcess" ->KShellProcess</ulink -> -Запуск дочерних процессов через оболочку. - - -<ulink url="kdeapi:tdesu/PtyProcess" ->PtyProcess</ulink -> -Связь с дочерними процессами через псевдотерминал. - - -<ulink url="kdeapi:tdecore/KIPC" ->KIPC</ulink -> -Простой механизм IPC, использующий X11 ClientMessages. - - -<ulink url="kdeapi:dcop/DCOPClient" ->DCOPClient</ulink -> -Отправка сообщений DCOP. - - -<ulink url="kdeapi:tdecore/KDCOPPropertyProxy" ->KDCOPPropertyProxy</ulink -> -Класс-прослойка, для публикации Qt-свойств через DCOP. - - -<ulink url="kdeapi:tdeui/KDCOPActionProxy" ->KDCOPActionProxy</ulink -> -Класс-прослойка, для публикации интерфейса DCOP для действий. - +<ulink url="kdeapi:tdecore/TDEProcess">TDEProcess</ulink> +Запуск и контроль дочерних процессов. + + +<ulink url="kdeapi:tdecore/KShellProcess">KShellProcess</ulink> +Запуск дочерних процессов через оболочку. + + +<ulink url="kdeapi:tdesu/PtyProcess">PtyProcess</ulink> +Связь с дочерними процессами через псевдотерминал. + + +<ulink url="kdeapi:tdecore/KIPC">KIPC</ulink> +Простой механизм IPC, использующий X11 ClientMessages. + + +<ulink url="kdeapi:dcop/DCOPClient">DCOPClient</ulink> +Отправка сообщений DCOP. + + +<ulink url="kdeapi:tdecore/KDCOPPropertyProxy">KDCOPPropertyProxy</ulink> +Класс-прослойка, для публикации Qt-свойств через DCOP. + + +<ulink url="kdeapi:tdeui/KDCOPActionProxy">KDCOPActionProxy</ulink> +Класс-прослойка, для публикации интерфейса DCOP для действий. + -Вспомогательные классы - управление памятью, регулярные выражения, работа со строками, произвольные числа +Вспомогательные классы - управление памятью, регулярные выражения, работа со строками, произвольные числа -<ulink url="kdeapi:tdecore/KRegExp" ->KRegExp</ulink -> -POSIX-совместимые регулярные выражения - - -<ulink url="kdeapi:tdecore/KStringHandler" ->KStringHandler</ulink -> -Тонкий интерфейс к работе со строками. - - -<ulink url="kdeapi:tdecore/TDEZoneAllocator" ->TDEZoneAllocator</ulink -> -Эффективное выделение памяти для больших групп маленьких объектов. - - -<ulink url="kdeapi:tdecore/KRandomSequence" ->KRandomSequence</ulink -> -(Псевдо)случайный генератор чисел (см. также /dev/random). - +<ulink url="kdeapi:tdecore/KRegExp">KRegExp</ulink> +POSIX-совместимые регулярные выражения + + +<ulink url="kdeapi:tdecore/KStringHandler">KStringHandler</ulink> +Тонкий интерфейс к работе со строками. + + +<ulink url="kdeapi:tdecore/TDEZoneAllocator">TDEZoneAllocator</ulink> +Эффективное выделение памяти для больших групп маленьких объектов. + + +<ulink url="kdeapi:tdecore/KRandomSequence">KRandomSequence</ulink> +(Псевдо)случайный генератор чисел (см. также /dev/random). + -Комбинации клавиш. +Комбинации клавиш. -<ulink url="kdeapi:tdecore/TDEAccel" ->TDEAccel</ulink -> -Коллекция комбинаций клавиш. - - -<ulink url="kdeapi:tdecore/TDEStdAccel" ->TDEStdAccel</ulink -> -Простой доступ к стандартным комбинациям клавиш. - - -<ulink url="kdeapi:tdecore/TDEGlobalAccel" -></ulink -> -Коллекция системных комбинаций клавиш. - +<ulink url="kdeapi:tdecore/TDEAccel">TDEAccel</ulink> +Коллекция комбинаций клавиш. + + +<ulink url="kdeapi:tdecore/TDEStdAccel">TDEStdAccel</ulink> +Простой доступ к стандартным комбинациям клавиш. + + +<ulink url="kdeapi:tdecore/TDEGlobalAccel"></ulink> +Коллекция системных комбинаций клавиш. + -Обработка изображений - загрузка и управлений значками. +Обработка изображений - загрузка и управлений значками. -<ulink url="kdeapi:tdecore/TDEIconLoader" ->TDEIconLoader</ulink -> -Загрузка значков. - - -<ulink url="kdeapi:tdecore/TDEIconTheme" ->TDEIconTheme</ulink -> -Вспомогательные классы для TDEIconLoader. - - -<ulink url="kdeapi:tdecore/KPixmap" ->KPixmap</ulink -> -Класс растра. - - -<ulink url="kdeapi:tdeui/KPixmapEffect" ->KPixmapEffect</ulink -> -Растровые эффекты наподобие градиентов м заливки. - - -<ulink url="kdeapi:tdeui/KPixmapIO" ->KPixmapIO</ulink -> -Быстрое преобразование QImage в QPixmap. - +<ulink url="kdeapi:tdecore/TDEIconLoader">TDEIconLoader</ulink> +Загрузка значков. + + +<ulink url="kdeapi:tdecore/TDEIconTheme">TDEIconTheme</ulink> +Вспомогательные классы для TDEIconLoader. + + +<ulink url="kdeapi:tdecore/KPixmap">KPixmap</ulink> +Класс растра. + + +<ulink url="kdeapi:tdeui/KPixmapEffect">KPixmapEffect</ulink> +Растровые эффекты наподобие градиентов м заливки. + + +<ulink url="kdeapi:tdeui/KPixmapIO">KPixmapIO</ulink> +Быстрое преобразование QImage в QPixmap. + -Drag and Drop. +Drag and Drop. -<ulink url="kdeapi:tdecore/KURLDrag" ->KURLDrag</ulink -> -Перенос URL. - - -<ulink url="kdeapi:tdeui/KColorDrag" ->KColorDrag</ulink -> -Перенос цветов. - - -<ulink url="kdeapi:tdecore/KMultipleDrag" ->KMultipleDrag</ulink -> -Перетаскивание нескольких объектов одновременно. - +<ulink url="kdeapi:tdecore/KURLDrag">KURLDrag</ulink> +Перенос URL. + + +<ulink url="kdeapi:tdeui/KColorDrag">KColorDrag</ulink> +Перенос цветов. + + +<ulink url="kdeapi:tdecore/KMultipleDrag">KMultipleDrag</ulink> +Перетаскивание нескольких объектов одновременно. + -Автозавершение +Автозавершение -<ulink url="kdeapi:tdecore/TDECompletion" ->TDECompletion</ulink -> -Общее завершение строк. - - -<ulink url="kdeapi:tdeio/KURLCompletion" ->KURLCompletion</ulink -> -Автозавершение строк URL. - - -<ulink url="kdeapi:tdeio/KShellCompletion" ->KShellCompletion</ulink -> -Автозавершение имён программ. - +<ulink url="kdeapi:tdecore/TDECompletion">TDECompletion</ulink> +Общее завершение строк. + + +<ulink url="kdeapi:tdeio/KURLCompletion">KURLCompletion</ulink> +Автозавершение строк URL. + + +<ulink url="kdeapi:tdeio/KShellCompletion">KShellCompletion</ulink> +Автозавершение имён программ. + -Виджеты - классы элементов управления для списов, правил, выбора цветов и т.д.. +Виджеты - классы элементов управления для списов, правил, выбора цветов и т.д.. -<ulink url="kdeapi:tdeui/TDEListView" ->TDEListView</ulink -> -Вариант QListView. - - -<ulink url="kdeapi:tdeui/TDEListView" ->TDEListBox</ulink -> -Вариант QListBox. - - -<ulink url="kdeapi:tdeui/TDEListView" ->TDEIconView</ulink -> -Вариант QIconView. - - -<ulink url="kdeapi:tdeui/TDEListView" ->KLineEdit</ulink -> -Вариант QLineEdit с поддержкой завершения. - - -<ulink url="kdeapi:tdeui/KComboBox" ->KComboBox</ulink -> -Вариант QComboBox с поддержкой завершения. - - -<ulink url="kdeapi:tdeui/TDEFontCombo" ->TDEFontCombo</ulink -> -Выпадающий список для выбора шрифтов - - -<ulink url="kdeapi:tdeui/KColorCombo" ->KColorCombo</ulink -> -Выпадающий список для выбора цветов - - -<ulink url="kdeapi:tdeui/KColorButton" ->KColorButton</ulink -> -Кнопка для выбора цветов - - -<ulink url="kdeapi:tdeui/KURLCombo" ->KURLCombo</ulink -> -Выпадающий список для выбора файлов и URL. - - -<ulink url="kdeapi:tdefile/KURLRequester" ->KURLRequester</ulink -> -Выбор имён файлов и URL. - - -<ulink url="kdeapi:tdeui/KRuler" ->KRuler</ulink -> -Элемент управления линейки - - -<ulink -url="kdeapi:tdeui/KAnimWidget" ->KAnimWidget</ulink -> -анимация. - - -<ulink url="kdeapi:tdeui/KNumInput" ->KNumInput</ulink -> -Ввод чисел. - - -<ulink url="kdeapi:tdeui/KPasswordEdit" ->KPasswordEdit</ulink -> -Ввод паролей. - +<ulink url="kdeapi:tdeui/TDEListView">TDEListView</ulink> +Вариант QListView. + + +<ulink url="kdeapi:tdeui/TDEListView">TDEListBox</ulink> +Вариант QListBox. + + +<ulink url="kdeapi:tdeui/TDEListView">TDEIconView</ulink> +Вариант QIconView. + + +<ulink url="kdeapi:tdeui/TDEListView">KLineEdit</ulink> +Вариант QLineEdit с поддержкой завершения. + + +<ulink url="kdeapi:tdeui/KComboBox">KComboBox</ulink> +Вариант QComboBox с поддержкой завершения. + + +<ulink url="kdeapi:tdeui/TDEFontCombo">TDEFontCombo</ulink> +Выпадающий список для выбора шрифтов + + +<ulink url="kdeapi:tdeui/KColorCombo">KColorCombo</ulink> +Выпадающий список для выбора цветов + + +<ulink url="kdeapi:tdeui/KColorButton">KColorButton</ulink> +Кнопка для выбора цветов + + +<ulink url="kdeapi:tdeui/KURLCombo">KURLCombo</ulink> +Выпадающий список для выбора файлов и URL. + + +<ulink url="kdeapi:tdefile/KURLRequester">KURLRequester</ulink> +Выбор имён файлов и URL. + + +<ulink url="kdeapi:tdeui/KRuler">KRuler</ulink> +Элемент управления линейки + + +<ulink +url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink> +анимация. + + +<ulink url="kdeapi:tdeui/KNumInput">KNumInput</ulink> +Ввод чисел. + + +<ulink url="kdeapi:tdeui/KPasswordEdit">KPasswordEdit</ulink> +Ввод паролей. + -Диалоги. +Диалоги. -<ulink url="kdeapi:tdefile/KFileDialog" ->KFileDialog</ulink -> -Выбор файла. - - -<ulink url="kdeapi:tdeui/KColorDialog" ->KColorDialog</ulink -> -Выбор цвета. - - -<ulink url="kdeapi:tdeui/TDEFontDialog" ->TDEFontDialog</ulink -> -Выбор шрифта. - - -<ulink url="kdeapi:tdefile/TDEIconDialog" ->TDEIconDialog</ulink -> -Выбор значка. - - -<ulink url="kdeapi:tdeui/KKeyDialog" ->KKeyDialog</ulink -> -Ввод комбинаций клавиш. - - -<ulink url="kdeapi:tdeui/KEditToolBar" ->KEditToolBar</ulink -> -Изменение панелей инструментов. - - -<ulink url="kdeapi:tdeui/KTipDialog" ->KTipDialog</ulink -> -Совет дня. - - -<ulink url="kdeapi:tdeui/TDEAboutDialog" ->TDEAboutDialog</ulink -> -Диалог "О программе". - - -<ulink url="kdeapi:tdeui/KLineEditDlg" ->KLineEditDlg</ulink -> -Простой диалог для ввода текста. - - -<ulink url="kdeapi:tdefile/KURLRequesterDlg" ->KURLRequesterDlg</ulink -> -Простой диалог для ввода URL. - - -<ulink url="kdeapi:tdeui/KMessageBox" ->KMessageBox</ulink -> -Вывод сообщений. - - -<ulink url="kdeapi:tdeui/KPasswordDialog" ->KPasswordDialog</ulink -> -Ввод паролей. - +<ulink url="kdeapi:tdefile/KFileDialog">KFileDialog</ulink> +Выбор файла. + + +<ulink url="kdeapi:tdeui/KColorDialog">KColorDialog</ulink> +Выбор цвета. + + +<ulink url="kdeapi:tdeui/TDEFontDialog">TDEFontDialog</ulink> +Выбор шрифта. + + +<ulink url="kdeapi:tdefile/TDEIconDialog">TDEIconDialog</ulink> +Выбор значка. + + +<ulink url="kdeapi:tdeui/KKeyDialog">KKeyDialog</ulink> +Ввод комбинаций клавиш. + + +<ulink url="kdeapi:tdeui/KEditToolBar">KEditToolBar</ulink> +Изменение панелей инструментов. + + +<ulink url="kdeapi:tdeui/KTipDialog">KTipDialog</ulink> +Совет дня. + + +<ulink url="kdeapi:tdeui/TDEAboutDialog">TDEAboutDialog</ulink> +Диалог "О программе". + + +<ulink url="kdeapi:tdeui/KLineEditDlg">KLineEditDlg</ulink> +Простой диалог для ввода текста. + + +<ulink url="kdeapi:tdefile/KURLRequesterDlg">KURLRequesterDlg</ulink> +Простой диалог для ввода URL. + + +<ulink url="kdeapi:tdeui/KMessageBox">KMessageBox</ulink> +Вывод сообщений. + + +<ulink url="kdeapi:tdeui/KPasswordDialog">KPasswordDialog</ulink> +Ввод паролей. + -Действия и XML GUI +Действия и XML GUI -<ulink url="kdeapi:tdeui/TDEAction" ->TDEAction</ulink -> -Абстракция для действия, котрое можно подключить к меню или панели инструментов. - - -<ulink url="kdeapi:tdeui/TDEActionCollection" ->TDEActionCollection</ulink -> -Набор действий. - - -<ulink url="kdeapi:tdeui/KXMLGUIClient" ->KXMLGUIClient</ulink -> -Часть GUI, состоящая из коллекций действий и дерева DOM, представляющего их расположение в GUI. - - -<ulink url="kdeapi:tdeparts/KPartManager" ->KPartManager</ulink -> -Управление активацией клиентов XMLGUI. - +<ulink url="kdeapi:tdeui/TDEAction">TDEAction</ulink> +Абстракция для действия, котрое можно подключить к меню или панели инструментов. + + +<ulink url="kdeapi:tdeui/TDEActionCollection">TDEActionCollection</ulink> +Набор действий. + + +<ulink url="kdeapi:tdeui/KXMLGUIClient">KXMLGUIClient</ulink> +Часть GUI, состоящая из коллекций действий и дерева DOM, представляющего их расположение в GUI. + + +<ulink url="kdeapi:tdeparts/KPartManager">KPartManager</ulink> +Управление активацией клиентов XMLGUI. + -Модули и компоненты +Модули и компоненты -<ulink url="kdeapi:tdecore/KLibrary" ->KLibrary</ulink -> -Динамически загружаемая библиотека. - - -<ulink url="kdeapi:tdecore/KLibrary" ->KLibLoader</ulink -> -Загрузка совместно используемых библиотек. - - -<ulink url="kdeapi:tdecore/KLibFactory" ->KLibFactory</ulink -> -Фабрика объектов в модулях. - - -<ulink url="kdeapi:tdeio/KServiceType" ->KServiceType</ulink -> -Тип службы - - -<ulink url="kdeapi:tdeio/KService" ->KService</ulink -> -Служба - - -<ulink url="kdeapi:tdeio/KMimeType" ->KMimeType</ulink -> -Представляет MIME-тип. - - -<ulink url="kdeapi:tdeio/KServiceTypeProfile" ->KServiceTypeProfile</ulink -> -Пользовательские настройки для обработки MIME-типов. - - -<ulink url="kdeapi:tdeio/KServiceTypeProfile" ->TDETrader</ulink -> -Запрос служб. - +<ulink url="kdeapi:tdecore/KLibrary">KLibrary</ulink> +Динамически загружаемая библиотека. + + +<ulink url="kdeapi:tdecore/KLibrary">KLibLoader</ulink> +Загрузка совместно используемых библиотек. + + +<ulink url="kdeapi:tdecore/KLibFactory">KLibFactory</ulink> +Фабрика объектов в модулях. + + +<ulink url="kdeapi:tdeio/KServiceType">KServiceType</ulink> +Тип службы + + +<ulink url="kdeapi:tdeio/KService">KService</ulink> +Служба + + +<ulink url="kdeapi:tdeio/KMimeType">KMimeType</ulink> +Представляет MIME-тип. + + +<ulink url="kdeapi:tdeio/KServiceTypeProfile">KServiceTypeProfile</ulink> +Пользовательские настройки для обработки MIME-типов. + + +<ulink url="kdeapi:tdeio/KServiceTypeProfile">TDETrader</ulink> +Запрос служб. + @@ -1072,38 +463,21 @@ url="kdeapi:tdeui/KAnimWidget" -Графика +Графика -Низкоуровневая графика с QPainter +Низкоуровневая графика с QPainter -Прорисовка с QPainter - -Низкоуровневая графическая модель Qt основывается на возможностях, предоставляемых X11 или другими графическими моделями, в которые портирована Qt. Но в ней также есть расширенные функции, такие как произвольные преобразования для текста и растра. - -Центральный графический класс для двухмерного рисования с Qt называется QPainter. Он может рисовать на QPaintDevice. Реализовано 3 устройства для рисования: QWidget, представляющий элемент управления на экране, QPrinter, представляющий виджет в виде вывода Postscript, и QPicture, позволяющий записывать и воспроизводить команды рисования (с диска) в формате SVG. - -Такое рисование используется преимущественно в методе paintEvent() класса элемента управления. - -void FooWidget::paintEvent() +Прорисовка с QPainter + +Низкоуровневая графическая модель Qt основывается на возможностях, предоставляемых X11 или другими графическими моделями, в которые портирована Qt. Но в ней также есть расширенные функции, такие как произвольные преобразования для текста и растра. + +Центральный графический класс для двухмерного рисования с Qt называется QPainter. Он может рисовать на QPaintDevice. Реализовано 3 устройства для рисования: QWidget, представляющий элемент управления на экране, QPrinter, представляющий виджет в виде вывода Postscript, и QPicture, позволяющий записывать и воспроизводить команды рисования (с диска) в формате SVG. + +Такое рисование используется преимущественно в методе paintEvent() класса элемента управления. + +void FooWidget::paintEvent() { QPainter p(this); // Setup painter @@ -1111,247 +485,164 @@ url="kdeapi:tdeui/KAnimWidget" } -При рисовании на принтере не забудьте вызывать QPrinter::newPage() для сигнализации о необходимости смены страницы. Также, при печати, вы можете использовать метрику устройства для подсчёта координат. +При рисовании на принтере не забудьте вызывать QPrinter::newPage() для сигнализации о необходимости смены страницы. Также, при печати, вы можете использовать метрику устройства для подсчёта координат. -Преобразования +Преобразования -По умолчанию, при использовании QPainter, прорисовка происходит в системе координат устройства. Это значит, что если вы рисуете линию по оси абсцисс с длинов в 10 единиц, её длина на экране будет составлять 10 пикселей. Однако, QPainter может применить некоторое преобразование перед прорисовкой фигур и кривых. Оно переносит координаты x и y линейно в x' и y' соответственно. +По умолчанию, при использовании QPainter, прорисовка происходит в системе координат устройства. Это значит, что если вы рисуете линию по оси абсцисс с длинов в 10 единиц, её длина на экране будет составлять 10 пикселей. Однако, QPainter может применить некоторое преобразование перед прорисовкой фигур и кривых. Оно переносит координаты x и y линейно в x' и y' соответственно. - + -Матрицу 3x3 в этом равенстве можно получить с помощью QPainter::setWorldMatrix(), она имеет тип QWMatrix. Это должна быть тождественная матрица, т.е. m11 и m22 равны единице, остальные параметры - нулю. Три типа преобразований: +Матрицу 3x3 в этом равенстве можно получить с помощью QPainter::setWorldMatrix(), она имеет тип QWMatrix. Это должна быть тождественная матрица, т.е. m11 и m22 равны единице, остальные параметры - нулю. Три типа преобразований: - -Сдвиги -Перемещает все точки объекта на определённую величину в определённом направлении. Трансляционная матрица может быть получена вызовом метода m.translate(dx, dy). Это отвечает матрице + +Сдвиги +Перемещает все точки объекта на определённую величину в определённом направлении. Трансляционная матрица может быть получена вызовом метода m.translate(dx, dy). Это отвечает матрице - + - -Масштабирование -Растянуть или сжать координаты объекта, делая его больше или меньше и сохраняя пропорции. Масштабирование можно применить к матрице методом m.scale(sx, sy). + +Масштабирование +Растянуть или сжать координаты объекта, делая его больше или меньше и сохраняя пропорции. Масштабирование можно применить к матрице методом m.scale(sx, sy). - + -Установкой любого из этих параметров в отрицательное значение, можно достичь зеркального отображения. +Установкой любого из этих параметров в отрицательное значение, можно достичь зеркального отображения. - -Искажение -Искажение координатной системы с двумя параметрами - m.shear(sh, sv) (англ.: "shearing" - сдвиг) + +Искажение +Искажение координатной системы с двумя параметрами - m.shear(sh, sv) (англ.: "shearing" - сдвиг) - + - -Вращение -Вращение обеспечивается методом m.rotate(alpha). Величина угла задаётся в градусах. + +Вращение +Вращение обеспечивается методом m.rotate(alpha). Величина угла задаётся в градусах. - + -Вращение - суть масштабирование и искажение +Вращение - суть масштабирование и искажение -Вот некоторые иллюстрации: +Вот некоторые иллюстрации: - - - - - - - - - - - - + + + + + + + + + + + + -a) Без преобразований -b) Вращение на 30 градусов -c) Искажение 0.4 -d) Зеркальное отражение +a) Без преобразований +b) Вращение на 30 градусов +c) Искажение 0.4 +d) Зеркальное отражение -Преобразования можно совмещать с умножением элементарных матриц. Помните, что операции с матрицами не являются коммутативными, поэтому обращайте внимание порядок множителей. +Преобразования можно совмещать с умножением элементарных матриц. Помните, что операции с матрицами не являются коммутативными, поэтому обращайте внимание порядок множителей. -Изменение параметров штрихов +Изменение параметров штрихов -Прорисовка линий, кривых и контуров многоугольниковможет быть изменена установкой специального пера через QPainter::setPen(). Аргумент этого метода - объект типа QPen. Он содержит такие параметры как стиль, цвет, тип соединения и концов. +Прорисовка линий, кривых и контуров многоугольниковможет быть изменена установкой специального пера через QPainter::setPen(). Аргумент этого метода - объект типа QPen. Он содержит такие параметры как стиль, цвет, тип соединения и концов. -Стиль пера - член enum Qt::PenStyle и может принимать следующие значения: +Стиль пера - член enum Qt::PenStyle и может принимать следующие значения: - + -Стиль соединение - член enum Qt::PenJoinStyle. Он указывает метод соединения нескольких линий. Он может принимать следующие значения: +Стиль соединение - член enum Qt::PenJoinStyle. Он указывает метод соединения нескольких линий. Он может принимать следующие значения: - - - - - - - - - + + + + + + + + + -a) MiterJoin -c) BevelJoin -b) RoundJoin +a) MiterJoin +c) BevelJoin +b) RoundJoin -Стиль концов является членом enum Qt::PenCapStyle и определяет как рисовать концы линий. Возможные значения: +Стиль концов является членом enum Qt::PenCapStyle и определяет как рисовать концы линий. Возможные значения: - - - - - - - - - + + + + + + + + + -a) FlatCap -b) SquareCap -c) RoundCap +a) FlatCap +b) SquareCap +c) RoundCap @@ -1361,112 +652,79 @@ url="kdeapi:tdeui/KAnimWidget" -Атрибуты заливки +Атрибуты заливки -Тип заливки многоугольников, окружностей и прямоугольников можно изменить установкой специальной кисти через QPainter::setBrush(). Она берёт аргумент типа QBrush. +Тип заливки многоугольников, окружностей и прямоугольников можно изменить установкой специальной кисти через QPainter::setBrush(). Она берёт аргумент типа QBrush. -QBrush::QBrush() - кисть, не заполняющая фигуры. +QBrush::QBrush() - кисть, не заполняющая фигуры. -QBrush::QBrush(BrushStyle) - чёрная кисть. +QBrush::QBrush(BrushStyle) - чёрная кисть. -QBrush::QBrush(const QColor &, BrushStyle) - Цветная кисть. +QBrush::QBrush(const QColor &, BrushStyle) - Цветная кисть. -QBrush::QBrush(const QColor &, const QPixmap) - Цветная кисть с заданным узором. +QBrush::QBrush(const QColor &, const QPixmap) - Цветная кисть с заданным узором. -Стиль кисти - enum Qt::BrushStyle. Иллюстрация всех стандартных узоров: +Стиль кисти - enum Qt::BrushStyle. Иллюстрация всех стандартных узоров: - + -Для ещё большего изменения поведения кисти используйте QPainter::setBrushOrigin(). +Для ещё большего изменения поведения кисти используйте QPainter::setBrushOrigin(). -Цвет +Цвет -В Qt цвета представлены классом QColor. Qt не поддерживает расширенную функциональность типа цветовых профилей ICC и сглаживание цветов. Цвета указываются по RGB. +В Qt цвета представлены классом QColor. Qt не поддерживает расширенную функциональность типа цветовых профилей ICC и сглаживание цветов. Цвета указываются по RGB. -Также возможно использовать оттенки, насыщенность и величина (HSV). Эти параметры напрямую используются в диалоге выбора цвета GIMP. Оттенок отвечает уголку на полосе цвета, насыщенность отвечает расстоянию до центра окружности. Величину можно выбрать отдельным ползунком. +Также возможно использовать оттенки, насыщенность и величина (HSV). Эти параметры напрямую используются в диалоге выбора цвета GIMP. Оттенок отвечает уголку на полосе цвета, насыщенность отвечает расстоянию до центра окружности. Величину можно выбрать отдельным ползунком. -Прочие параметры +Прочие параметры -Обычно, точки, которые вы рисуете заменяют те, которые были до них на том же месте. Например, если вы нарисуете квадрат красным цветом, а потом повторите действие, лишь изменив цвет на синий, вы увидите синий квадрат. Пока что Qt не поддерживает прозрачность. Тем не менее, существует простой путь совместить фон и передний план с булевыми операторами. Метод QPainter::setRasterOp() устанавливает используемый оператор, из enum RasterOp. +Обычно, точки, которые вы рисуете заменяют те, которые были до них на том же месте. Например, если вы нарисуете квадрат красным цветом, а потом повторите действие, лишь изменив цвет на синий, вы увидите синий квадрат. Пока что Qt не поддерживает прозрачность. Тем не менее, существует простой путь совместить фон и передний план с булевыми операторами. Метод QPainter::setRasterOp() устанавливает используемый оператор, из enum RasterOp. -По умолчанию установлен CopyROP, который игнорирует фон. Однако вы можете выбрать XorROP. Если вы нарисуете чёрную линию с этим оператором на цветном изображении, цвет покрываемой линией области будет обращён. +По умолчанию установлен CopyROP, который игнорирует фон. Однако вы можете выбрать XorROP. Если вы нарисуете чёрную линию с этим оператором на цветном изображении, цвет покрываемой линией области будет обращён. -Рисование примитивных фигур +Рисование примитивных фигур -Далее приводится список графических элементов, поддерживаемых QPainter. Большинство из них имеют несколько перегруженных версий, поэтому принимают различный набор аргументов. Например, методы, работающие с прямоугольниками обычно принимаю либо QRect, либо 4 числа. +Далее приводится список графических элементов, поддерживаемых QPainter. Большинство из них имеют несколько перегруженных версий, поэтому принимают различный набор аргументов. Например, методы, работающие с прямоугольниками обычно принимаю либо QRect, либо 4 числа. -Рисование точки - drawPoint(). +Рисование точки - drawPoint(). -Рисование линий - drawLine(), drawLineSegments(), drawPolyLine(). +Рисование линий - drawLine(), drawLineSegments(), drawPolyLine(). -Рисование и заполнение прямоугольников - drawRect(), drawRoundRect(), fillRect(), eraseRect(). +Рисование и заполнение прямоугольников - drawRect(), drawRoundRect(), fillRect(), eraseRect(). -Рисование и заполнение окружностей, эллипсов и их частей - drawEllipse(), drawArc(), drawPie, drawChord(). +Рисование и заполнение окружностей, эллипсов и их частей - drawEllipse(), drawArc(), drawPie, drawChord(). -Рисование и заполнение многоугольников - drawPolygon(). +Рисование и заполнение многоугольников - drawPolygon(). -Рисование кривых bezier - drawQuadBezier() [drawCubicBezier в Qt 3.0]. +Рисование кривых bezier - drawQuadBezier() [drawCubicBezier в Qt 3.0]. @@ -1474,49 +732,25 @@ url="kdeapi:tdeui/KAnimWidget" -Рисование растра и изображений - -Qt предоставляет два различных класса для работы с изображениями. - -QPixmap отвечает растровым объектам X11. Растры - это объекты стороны сервера и могут - на новых графических картах - даже храниться в их памяти. Поэтому работа с ними происходит очень быстро. Растры также выступают эквивалентами элементов управления - класс QPixmap является подклассом QPaintDevice, так что вы можете рисовать на нём с QPainter. Элементарные операции рисования обычно оптимизируются современными графическими картами. Поэтому, можно использовать растры для двойной буферизации ("double buffering"). Это означает рисовать не прямо на элементе управления, а на временном растре, а потом вызывать функцию bitBlt чтобы передать его виджету. Для сложных перерисовок, это помогает предотвратить мигание. - -Объекты QImage располагаются на стороне клиента. Основное ударение поставлено на прямой доступ к точкам изображения. Это упрощает операции манипуляции с изображениями, загрузку и сохранение на диск (метод QPixmapload() берёт QImage как промежуточный). С другой стороны, рисование на элементе управления - дорогая операция, т.к. включает в себя передачу X-серверу. В зависимости от глубины цвета, преобразование из QImage в QPixmap может требовать dithering. +Рисование растра и изображений + +Qt предоставляет два различных класса для работы с изображениями. + +QPixmap отвечает растровым объектам X11. Растры - это объекты стороны сервера и могут - на новых графических картах - даже храниться в их памяти. Поэтому работа с ними происходит очень быстро. Растры также выступают эквивалентами элементов управления - класс QPixmap является подклассом QPaintDevice, так что вы можете рисовать на нём с QPainter. Элементарные операции рисования обычно оптимизируются современными графическими картами. Поэтому, можно использовать растры для двойной буферизации ("double buffering"). Это означает рисовать не прямо на элементе управления, а на временном растре, а потом вызывать функцию bitBlt чтобы передать его виджету. Для сложных перерисовок, это помогает предотвратить мигание. + +Объекты QImage располагаются на стороне клиента. Основное ударение поставлено на прямой доступ к точкам изображения. Это упрощает операции манипуляции с изображениями, загрузку и сохранение на диск (метод QPixmapload() берёт QImage как промежуточный). С другой стороны, рисование на элементе управления - дорогая операция, т.к. включает в себя передачу X-серверу. В зависимости от глубины цвета, преобразование из QImage в QPixmap может требовать dithering. -Рисование текста - -Текст можно нарисовать одним из вариантов перегруженной функции QPainter::drawText(). Шрифт можно установить функцией QPainter::setFont(). Есть также параметр, представляющий их себя комбинацию флагов ORed из enums Qt::AlignmentFlags и Qt::TextFlags - -Начиная с версии 3.0, Qt также поддерживает языки с письмом справа налево. - -Чтобы отобразить текст с оформлением, воспользуйтесь классом QSimpleRichText. При этом в текст нужно включать базовую HTML-разметку (включающую, тем не менее даже таблицы). Стиль текста можно изменить с помощью QStyleSheet. Для прорисовки такого объекта используйте метод QSimpleRichText::draw(). +Рисование текста + +Текст можно нарисовать одним из вариантов перегруженной функции QPainter::drawText(). Шрифт можно установить функцией QPainter::setFont(). Есть также параметр, представляющий их себя комбинацию флагов ORed из enums Qt::AlignmentFlags и Qt::TextFlags + +Начиная с версии 3.0, Qt также поддерживает языки с письмом справа налево. + +Чтобы отобразить текст с оформлением, воспользуйтесь классом QSimpleRichText. При этом в текст нужно включать базовую HTML-разметку (включающую, тем не менее даже таблицы). Стиль текста можно изменить с помощью QStyleSheet. Для прорисовки такого объекта используйте метод QSimpleRichText::draw(). @@ -1524,128 +758,66 @@ url="kdeapi:tdeui/KAnimWidget" -Сложная графика с QCanvas +Сложная графика с QCanvas -QPainter обеспечивает мощную низкоуровневую модель для рисования на элементах управления и растрах. Однако, рисование более сложных объектов с его помощью может оказаться непосильной задачей. Каждый раз, когда элемент управления получает событие рисования, ему нужно проанализировать QPaintEvent::region() или QPaintEvent::rect(). Затем ему нужно установить QPainter и нарисовать все объекты, которые перекрывают эту область. Например, представьте себе программу векторной графики, позволяющую перетаскивать объекты типа многоугольников, окружностей, и их групп. Каждый раз при наименьшем перемещении объектов, обработчик событий мыши создаёт событие перерисовки для всей области, занимаемой объектами в старой и новой позициях. Вычисление необходимых перерисовок и их выполнение оптимальным способом может составлять трудность, и может конфликтовать с объектно-ориентированной структурой кода программы. +QPainter обеспечивает мощную низкоуровневую модель для рисования на элементах управления и растрах. Однако, рисование более сложных объектов с его помощью может оказаться непосильной задачей. Каждый раз, когда элемент управления получает событие рисования, ему нужно проанализировать QPaintEvent::region() или QPaintEvent::rect(). Затем ему нужно установить QPainter и нарисовать все объекты, которые перекрывают эту область. Например, представьте себе программу векторной графики, позволяющую перетаскивать объекты типа многоугольников, окружностей, и их групп. Каждый раз при наименьшем перемещении объектов, обработчик событий мыши создаёт событие перерисовки для всей области, занимаемой объектами в старой и новой позициях. Вычисление необходимых перерисовок и их выполнение оптимальным способом может составлять трудность, и может конфликтовать с объектно-ориентированной структурой кода программы. -Как выход, Qt предлагает класс QCanvas, в котором можно располагать графические объекты, такие как многоугольники, текст, растры. Дополнительные элементы можно создать созданием подкласса QCanvasItem или одного из его специализированных подклассов. Канва (от англ. холст) может отобаржаться одним или более элементами управления класса QCanvasView, которые вы должны пол=делить на подклассы для взаимодействия с пользователем. Qt заботится о всех перерисовках в представлении самостоятельно. Т.к. при этом используется двойная буферизация, это позволяет избавиться от мигания. +Как выход, Qt предлагает класс QCanvas, в котором можно располагать графические объекты, такие как многоугольники, текст, растры. Дополнительные элементы можно создать созданием подкласса QCanvasItem или одного из его специализированных подклассов. Канва (от англ. холст) может отобаржаться одним или более элементами управления класса QCanvasView, которые вы должны пол=делить на подклассы для взаимодействия с пользователем. Qt заботится о всех перерисовках в представлении самостоятельно. Т.к. при этом используется двойная буферизация, это позволяет избавиться от мигания. -Элементы канвы могут перекрывать один другого В этом случае видимость объектов определяется т.н. z-порядком, который можно изменять методом QCanvasItem::setZ(). Их можно вообще скрывать. Также, вы можете выбрать фон. Для ассоциации событий мыши в канве есть метод QCanvas::collisions(), возвращающий список элементов, перекрывающих данную точку: +Элементы канвы могут перекрывать один другого В этом случае видимость объектов определяется т.н. z-порядком, который можно изменять методом QCanvasItem::setZ(). Их можно вообще скрывать. Также, вы можете выбрать фон. Для ассоциации событий мыши в канве есть метод QCanvas::collisions(), возвращающий список элементов, перекрывающих данную точку: - + -Здесь сетка нарисована на фоне. Кроме них там есть элементы QCanvasText и фиолетовый QCanvasPolygon. Бабочка представлена растром QCanvasPixmap. Он имеет прозрачные области. +Здесь сетка нарисована на фоне. Кроме них там есть элементы QCanvasText и фиолетовый QCanvasPolygon. Бабочка представлена растром QCanvasPixmap. Он имеет прозрачные области. -Руководство по использованию QCanvas для написания sprite-based игр можно найти тут. +Руководство по использованию QCanvas для написания sprite-based игр можно найти тут. -3D-графика с OpenGL +3D-графика с OpenGL -Низкоуровневый интерфейс +Низкоуровневый интерфейс -Стандартом де-факто для прорисовки трёхмерной графики на сегодня является OpenGL. Реализации этой спецификации поставляются с Microsoft Windows, Mac OS X и XFree86, и часто поддерживают аппаратное ускорение. OpenGL сам по себе только занимается прорисовкой на указанной области фреймбуфера через GL context и не взаимодействует с инструментарием среды. +Стандартом де-факто для прорисовки трёхмерной графики на сегодня является OpenGL. Реализации этой спецификации поставляются с Microsoft Windows, Mac OS X и XFree86, и часто поддерживают аппаратное ускорение. OpenGL сам по себе только занимается прорисовкой на указанной области фреймбуфера через GL context и не взаимодействует с инструментарием среды. -Qt предоставляет элемент управления QGLWidget, инкапсулирующий окно с ассоциированным контекстом GL. Используйте его, создавая его подкласс и переопределяя некоторые из его методов. +Qt предоставляет элемент управления QGLWidget, инкапсулирующий окно с ассоциированным контекстом GL. Используйте его, создавая его подкласс и переопределяя некоторые из его методов. -Вместо повторной реализация paintEvent() и использования QPainter для прорисовки содержимого элемента управления, замещайте paintGL() и используйте команды GL для прорисовки сцены. QLWidget позаботится о создании его контекста GL перед вызовом paintGL() и очистит его. +Вместо повторной реализация paintEvent() и использования QPainter для прорисовки содержимого элемента управления, замещайте paintGL() и используйте команды GL для прорисовки сцены. QLWidget позаботится о создании его контекста GL перед вызовом paintGL() и очистит его. -Виртуальный метод initializeGL() вызывается перед первым вызовом resizeGL() или paintGL(). Его можно использовать для конструкции списков отображения для объектов и других инициализаций. +Виртуальный метод initializeGL() вызывается перед первым вызовом resizeGL() или paintGL(). Его можно использовать для конструкции списков отображения для объектов и других инициализаций. -Вместо повторной реализации resizeEvent(), заместите resizeGL(). Это может быть использовано для установки соответствующей области просмотра. +Вместо повторной реализации resizeEvent(), заместите resizeGL(). Это может быть использовано для установки соответствующей области просмотра. -Вместо вызова update() по изменении состояния сцены - например при анимировании по таймеру - вызывайте updateGL(). Это приведёт к перерисовке. +Вместо вызова update() по изменении состояния сцены - например при анимировании по таймеру - вызывайте updateGL(). Это приведёт к перерисовке. -В общем, QGLWidget ведёт себя также, как и любой другой элемент управления, например вы можете обрабатывать события мыши как обычно, изменять размер и совмещать его с другими объектами. +В общем, QGLWidget ведёт себя также, как и любой другой элемент управления, например вы можете обрабатывать события мыши как обычно, изменять размер и совмещать его с другими объектами. - + -Qt поставляется с несколькими примерами использования QGLWidget в demo. Набор руководств на эту тематику можно найти здесь, и больше информации и справочник OpenGL доступно на сайте OpenGL. +Qt поставляется с несколькими примерами использования QGLWidget в demo. Набор руководств на эту тематику можно найти здесь, и больше информации и справочник OpenGL доступно на сайте OpenGL. -Высокоуровневые интерфейсы - -OpenGL является относительно низкоуровневым интерфейсом для рисования трёхмерной графики. Как QCanvas предоставляет интерфейс более высокого уровня для двухмерной графики, так Open Inventor является трёхмерным аналогом канвы. Изначально эта технология была реализована SGI, но на данный момент есть также версия с открытым исходным кодом Coin, сопровождающаяся связью с SoQt. - -Основна Open Inventor - сцена. Сцену можно загрузить с диска и сохранить в специальном формате, тесно связанным с VRML. Сцена состоит из набора объектов, называющихся узлами (nodes). Inventor уже предоставляет набор узлов таких как кубы, цилиндры и сплетения (нити), источники света, материалы, камеры и т.д. Узлы представлены классами C++ и могут комбинироваться и разделяться на подклассы. - -Введение в Inventor можно найти здесь (в общем, все упоминания SoXt в этой статье можно заменить на SoQt). +Высокоуровневые интерфейсы + +OpenGL является относительно низкоуровневым интерфейсом для рисования трёхмерной графики. Как QCanvas предоставляет интерфейс более высокого уровня для двухмерной графики, так Open Inventor является трёхмерным аналогом канвы. Изначально эта технология была реализована SGI, но на данный момент есть также версия с открытым исходным кодом Coin, сопровождающаяся связью с SoQt. + +Основна Open Inventor - сцена. Сцену можно загрузить с диска и сохранить в специальном формате, тесно связанным с VRML. Сцена состоит из набора объектов, называющихся узлами (nodes). Inventor уже предоставляет набор узлов таких как кубы, цилиндры и сплетения (нити), источники света, материалы, камеры и т.д. Узлы представлены классами C++ и могут комбинироваться и разделяться на подклассы. + +Введение в Inventor можно найти здесь (в общем, все упоминания SoXt в этой статье можно заменить на SoQt). @@ -1656,94 +828,43 @@ url="kdeapi:tdeui/KAnimWidget" -Пользовательский интерфейс +Пользовательский интерфейс -Действия +Действия - + -Задание меню и панелей инструментов в XML +Задание меню и панелей инструментов в XML -Введение - -Модель действия позволяет инкапсулировать действия, вызываемые пользователем в объекте, который может быть "подключён" где-нибудь в меню или панелях инструментов, но она не отвечает за составление меню как таковых. В частности, вам нужно построить все меню в коде C++ и явно вставить действия в определённом порядке. Таким образом, трудно сделать меню. - -Проблема решается набором классов XMLGUI. Это отделяет действия (в C++) от их отображения в меню и панелях инструментов (в XML). Без изменения исходного кода, меню можно легко подкорректировать изменением XML-файла. Более того, это позволяет удостовериться, что стандартные действия (типа ФайлОткрыть... или СправкаО программе) отображаются на месте, рекомендуемом руководством по стилю. XMLGUI особенно важны для модульных программ, где пункты, появляющиеся в меню могут обеспечиваться разными модулями и компонентами. - -Класс KDE верхнеуровневого окна, TDEMainWindow, наследует KXMLGUIClient и, следовательно, поддерживает XMLGUI. Все действия, созданные с ним должны иметь actionCollection() как родителя. ВызовcreateGUI() приведёт к построению целого набора меню и панелей инструментов, описанных в XML-файле (обычно с расширением.ui). +Введение + +Модель действия позволяет инкапсулировать действия, вызываемые пользователем в объекте, который может быть "подключён" где-нибудь в меню или панелях инструментов, но она не отвечает за составление меню как таковых. В частности, вам нужно построить все меню в коде C++ и явно вставить действия в определённом порядке. Таким образом, трудно сделать меню. + +Проблема решается набором классов XMLGUI. Это отделяет действия (в C++) от их отображения в меню и панелях инструментов (в XML). Без изменения исходного кода, меню можно легко подкорректировать изменением XML-файла. Более того, это позволяет удостовериться, что стандартные действия (типа ФайлОткрыть... или СправкаО программе) отображаются на месте, рекомендуемом руководством по стилю. XMLGUI особенно важны для модульных программ, где пункты, появляющиеся в меню могут обеспечиваться разными модулями и компонентами. + +Класс KDE верхнеуровневого окна, TDEMainWindow, наследует KXMLGUIClient и, следовательно, поддерживает XMLGUI. Все действия, созданные с ним должны иметь actionCollection() как родителя. ВызовcreateGUI() приведёт к построению целого набора меню и панелей инструментов, описанных в XML-файле (обычно с расширением.ui). -Пример: Меню в KView - -Далее мы берём программу просмотра KDE KView в виде примера. Его файл ui.rc носит имя kviewui.rc, устанавливаемый заготовкой Makefile.am - -rcdir = $(kde_datadir)/kview +Пример: Меню в KView + +Далее мы берём программу просмотра KDE KView в виде примера. Его файл ui.rc носит имя kviewui.rc, устанавливаемый заготовкой Makefile.am + +rcdir = $(kde_datadir)/kview rc_DATA = kviewui.rc -Вот выдержка из kviewui.rc. Для простоты мы приводим только меню Вид. +Вот выдержка из kviewui.rc. Для простоты мы приводим только меню Вид. -<!DOCTYPE kpartgui> +<!DOCTYPE kpartgui> <kpartgui name="kview"> <MenuBar> <Menu name="view" > @@ -1758,11 +879,9 @@ rc_DATA = kviewui.rc </kpartgui> -Соответствующий код C++: +Соответствующий код C++: -KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); +KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); KStdAction::zoomOut ( this, SLOT(slotZoomOut()), actionCollection() ); KStdAction::zoom ( this, SLOT(slotZoom()), actionCollection() ); new TDEAction ( i18n("&Half size"), ALT+Key_0, @@ -1782,86 +901,37 @@ rc_DATA = kviewui.rc actionCollection(), "fullscreen" ); -Меню View показано на снимке экрана: +Меню View показано на снимке экрана: - + -Файл XML начинается с объявления типа документа. DTD для kpartgui можно найти в исходниках tdelibs в tdeui/kpartgui.dtd. Дальний элемент файл содержим имя экземпляра приложения как атрибут. он может содержать версию в форме "version=2". Это полезно когда вы выпускаете новую версию программы с изменённым меню. Если вы увеличите номер версии в файле ui.rc, KDE убедиться, что любая изменённая версия отброшена и используется новый файл. - -Следующая строка, <MenuBar>, содержит объявление панели меню. Вы можете вставлять любое количество <ToolBar> для создания панелей инструментов. Меню содержит подменю "view". Это имя является предопределённым и поэтому вы видите нормальные названия пунктов на снимке. Если вы будете добавлять свои подменю, вам нужно будет явно указать их заголовки. Например, в KView есть подменю с заголовком "Image": - -<Menu name="image" > +Файл XML начинается с объявления типа документа. DTD для kpartgui можно найти в исходниках tdelibs в tdeui/kpartgui.dtd. Дальний элемент файл содержим имя экземпляра приложения как атрибут. он может содержать версию в форме "version=2". Это полезно когда вы выпускаете новую версию программы с изменённым меню. Если вы увеличите номер версии в файле ui.rc, KDE убедиться, что любая изменённая версия отброшена и используется новый файл. + +Следующая строка, <MenuBar>, содержит объявление панели меню. Вы можете вставлять любое количество <ToolBar> для создания панелей инструментов. Меню содержит подменю "view". Это имя является предопределённым и поэтому вы видите нормальные названия пунктов на снимке. Если вы будете добавлять свои подменю, вам нужно будет явно указать их заголовки. Например, в KView есть подменю с заголовком "Image": + +<Menu name="image" > <text>&amp;Image</text> ... </Menu> -В KDE, такие заголовки автоматически извлекаются и помещаются в .po-файлы, которые также содержат перевод этих заголовков на другие языки (оригинальным языком программы должен быть английский, а, например, русские сообщения должны помещаться в такие файлы - на земле больше людей, знающих английский). Не забудьте также вставить символ "&" (акселератор), в XML это будет "&amp;". - -Давайте вернёмся к примеру. Меню View содержим несколько действий: zoom50, zoom100, zoom200, zoomMaxpect и fullscreen, объявленные в элементе <Action>. Отделитель на снимке соответствует элементу <Separator>. - -Некоторые пункты меню не имеют соответствующих им записей в XML-файле. Это стандартные действия. Они создаются классом KStdAction. При создании таких действий (к4ак в нашем C++ примере выше), они автоматически вставляются в определённой последовательности, и уже имеют значок и комбинацию клавиш. Эти действия описаны в tdeui/ui_standards.rc в исходниках tdelibs. +В KDE, такие заголовки автоматически извлекаются и помещаются в .po-файлы, которые также содержат перевод этих заголовков на другие языки (оригинальным языком программы должен быть английский, а, например, русские сообщения должны помещаться в такие файлы - на земле больше людей, знающих английский). Не забудьте также вставить символ "&" (акселератор), в XML это будет "&amp;". + +Давайте вернёмся к примеру. Меню View содержим несколько действий: zoom50, zoom100, zoom200, zoomMaxpect и fullscreen, объявленные в элементе <Action>. Отделитель на снимке соответствует элементу <Separator>. + +Некоторые пункты меню не имеют соответствующих им записей в XML-файле. Это стандартные действия. Они создаются классом KStdAction. При создании таких действий (к4ак в нашем C++ примере выше), они автоматически вставляются в определённой последовательности, и уже имеют значок и комбинацию клавиш. Эти действия описаны в tdeui/ui_standards.rc в исходниках tdelibs. -Пример: Панели инструментов Konqueror +Пример: Панели инструментов Konqueror -Следующий отрывок описывает панель адреса. +Следующий отрывок описывает панель адреса. -<ToolBar name="locationToolBar" fullWidth="true" newline="true" > +<ToolBar name="locationToolBar" fullWidth="true" newline="true" > <text>Location Toolbar</text> <Action name="clear_location" /> <Action name="location_label" /> @@ -1870,60 +940,23 @@ rc_DATA = kviewui.rc </ToolBar> -Здесь намного больше атрибутов, чем в меню: +Здесь намного больше атрибутов, чем в меню: -fullWidth: Говорит XMLGUI, что панель имеет максимально доступную ширину. Если это равно "false", панель занимает столько, сколько необходимо, а на оставшемся месте ряда располагаются другие панели инструментов. - -newline: Если равно "true", панель всегда находится в начале ряда. - -noEdit: Обычно, пользователь может изменять панели инструментов через НастройкиНастроить панели инструментов.... Этот атрибут позволяет отменить это поведение. - -iconText: Говорит XMLGUI отображать значок и текст действия. Обычно, текст отображается только в всплывающей подсказке. Возможные значения этого атрибута - "icononly" (только значки), "textonly" (только текст), "icontextright" (текст справа от значка) "icontextbottom" (текст снизу от значка). - - -hidden: Если имеет значение "true", панель инструментов не видна по умолчанию. - - -position: По умолчанию - "top", что означает, что панель располагается рядом с меню (т.е. вверху окна). Для программ с большим количеством инструментария, например графических, имеет смысл установить этот атрибут в "left", "right" или "bottom". +fullWidth: Говорит XMLGUI, что панель имеет максимально доступную ширину. Если это равно "false", панель занимает столько, сколько необходимо, а на оставшемся месте ряда располагаются другие панели инструментов. + +newline: Если равно "true", панель всегда находится в начале ряда. + +noEdit: Обычно, пользователь может изменять панели инструментов через НастройкиНастроить панели инструментов.... Этот атрибут позволяет отменить это поведение. + +iconText: Говорит XMLGUI отображать значок и текст действия. Обычно, текст отображается только в всплывающей подсказке. Возможные значения этого атрибута - "icononly" (только значки), "textonly" (только текст), "icontextright" (текст справа от значка) "icontextbottom" (текст снизу от значка). + + +hidden: Если имеет значение "true", панель инструментов не видна по умолчанию. + + +position: По умолчанию - "top", что означает, что панель располагается рядом с меню (т.е. вверху окна). Для программ с большим количеством инструментария, например графических, имеет смысл установить этот атрибут в "left", "right" или "bottom". @@ -1931,26 +964,11 @@ rc_DATA = kviewui.rc -Динамические меню - -Очевидно, XML может только содержать статическое описание пользовательского интерфейса, но часто нужно изменить меню во время выполнения. Например, меню Адрес в Konqueror содержит набор пунктов Open with Foo, отвечающих программам, способным открыть текущий файл (текущий MIME-тип). В XMLGUI функции динамической работы с меню реализованы с понятием списков действий (action lists). Он объявляется как один пункт в XML -файле, но состоит из несколькихдействий, подключаемых в меню во время выполнения. Приведённый выше пример реализован со следующим объявлением в XML-файле Konqueror: - -<Menu name="file"> +Динамические меню + +Очевидно, XML может только содержать статическое описание пользовательского интерфейса, но часто нужно изменить меню во время выполнения. Например, меню Адрес в Konqueror содержит набор пунктов Open with Foo, отвечающих программам, способным открыть текущий файл (текущий MIME-тип). В XMLGUI функции динамической работы с меню реализованы с понятием списков действий (action lists). Он объявляется как один пункт в XML -файле, но состоит из несколькихдействий, подключаемых в меню во время выполнения. Приведённый выше пример реализован со следующим объявлением в XML-файле Konqueror: + +<Menu name="file"> <text>&amp;Location</text> ... <ActionList name="openwith"> @@ -1958,15 +976,9 @@ rc_DATA = kviewui.rc </Menu> -Функция KXMLGUIClient::plugActionList() используется для добавления действий, аKXMLGuiClient::unplugActionList() удаляет все подключённые действия. Обновление: +Функция KXMLGUIClient::plugActionList() используется для добавления действий, аKXMLGuiClient::unplugActionList() удаляет все подключённые действия. Обновление: -void MainWindow::updateOpenWithActions() +void MainWindow::updateOpenWithActions() { unplugActionList("openwith"); openWithActions.clear(); @@ -1978,27 +990,17 @@ rc_DATA = kviewui.rc } -В отличие от статических действий, созданные здесь не имеют коллекцию действий в как родителя, и вы должны явно их удалять. Для этого можно установить openWithActions.setAutoDelete(true) в примере выше. +В отличие от статических действий, созданные здесь не имеют коллекцию действий в как родителя, и вы должны явно их удалять. Для этого можно установить openWithActions.setAutoDelete(true) в примере выше. -Контекстные меню +Контекстные меню -Примеры, приведённые выше содержали только случаи, где создавались главное меню приложения и его панели инструментов. Их построение полностью скрыто от вас в функции createGUI(). В XML-файле можно также описывать и контекстные меню. Получить указатель на контекстное меню можно в клиентской factory: +Примеры, приведённые выше содержали только случаи, где создавались главное меню приложения и его панели инструментов. Их построение полностью скрыто от вас в функции createGUI(). В XML-файле можно также описывать и контекстные меню. Получить указатель на контекстное меню можно в клиентской factory: -void MainWindow::popupRequested() +void MainWindow::popupRequested() { QWidget *w = factory()->container("context_popup", this); QPopupMenu *popup = static_cast<QPopupMenu *>(w); @@ -2006,13 +1008,9 @@ rc_DATA = kviewui.rc } -Метод KXMLGUIFactory::container()ищет контейнер в XML-файле. Его описание может быть таким: +Метод KXMLGUIFactory::container()ищет контейнер в XML-файле. Его описание может быть таким: -... +... <Menu name="context_popup"> <Action name="file_add"/> <Action name="file_remove"/> @@ -2026,123 +1024,68 @@ rc_DATA = kviewui.rc -Интерактивная справка +Интерактивная справка -Существует несколько уровней такой помощи: +Существует несколько уровней такой помощи: -Всплывающие подсказки. Особенно важны для панелей инструментов, где вместо текста обычно находятся значки. - -"Что это?" ("What's this?") обычно содержит более длинное описание элемента графического интерфейса. Её можно вызвать нажатием ShiftF1 или щелчком на знаке вопроса в заголовке окна. При этом курсор превратится в знак вопроса и пользователю нужно будет щёлкнуть на элементе, по которому он желает получить справку - -Недостаток такого подхода состоит в том, что пользователь не может сразу узнать, предоставляет ли элемент управления справку. И после нескольких попыток получения такой справки (когда при щелчке на элементе она не будет появляться), пользователь утратит интерес к этому занятию. - -Одним из преимуществ является то, что такие справки могут содержать форматирование. - -Пример справки "Что это?": +Всплывающие подсказки. Особенно важны для панелей инструментов, где вместо текста обычно находятся значки. + +"Что это?" ("What's this?") обычно содержит более длинное описание элемента графического интерфейса. Её можно вызвать нажатием ShiftF1 или щелчком на знаке вопроса в заголовке окна. При этом курсор превратится в знак вопроса и пользователю нужно будет щёлкнуть на элементе, по которому он желает получить справку + +Недостаток такого подхода состоит в том, что пользователь не может сразу узнать, предоставляет ли элемент управления справку. И после нескольких попыток получения такой справки (когда при щелчке на элементе она не будет появляться), пользователь утратит интерес к этому занятию. + +Одним из преимуществ является то, что такие справки могут содержать форматирование. + +Пример справки "Что это?": - + -На конец, каждая программа должны иметь руководство. Его обычно читают (если читают - прим. перев.) вKHelpCenter (вызываемый через менюСправка). Также, можно воспользоваться tdeioslave'ом konqueror'а help:/. Руководство обычно не должно повторять информации, содержащейся в справке другой формы (всплывающие подсказки и т.д.), в нём должен быть цельный обзор возможностей прогаммы и т.п. Руководства для программ KDE должны быть в формате DocBook. Он основан на XML и, следовательно, является свободно конвертируемым - начиная от банального HTML и заканчивая PDF. +На конец, каждая программа должны иметь руководство. Его обычно читают (если читают - прим. перев.) вKHelpCenter (вызываемый через менюСправка). Также, можно воспользоваться tdeioslave'ом konqueror'а help:/. Руководство обычно не должно повторять информации, содержащейся в справке другой формы (всплывающие подсказки и т.д.), в нём должен быть цельный обзор возможностей прогаммы и т.п. Руководства для программ KDE должны быть в формате DocBook. Он основан на XML и, следовательно, является свободно конвертируемым - начиная от банального HTML и заканчивая PDF. -С точки зрения программиста, Qt предоставляет простой API для интерактивной справки. Чтобы присвоить подсказку элементу управления, воспользуйтесь классом QToolTip. +С точки зрения программиста, Qt предоставляет простой API для интерактивной справки. Чтобы присвоить подсказку элементу управления, воспользуйтесь классом QToolTip. -QToolTip::add(w, i18n("This widget does something.")) +QToolTip::add(w, i18n("This widget does something.")) -Если меню и панели инструментов созданы с помощью модели действий, текст подсказки передаётся в первом аргументе конструктора TDEAction: +Если меню и панели инструментов созданы с помощью модели действий, текст подсказки передаётся в первом аргументе конструктора TDEAction: -action = new TDEAction(i18n("&Delete"), "editdelete", +action = new TDEAction(i18n("&Delete"), "editdelete", SHIFT+Key_Delete, actionCollection(), "del") -Здесь также возможно присвоить показываемый в панели состояния текст: +Здесь также возможно присвоить показываемый в панели состояния текст: -action->setStatusText(i18n("Deletes the marked file")) +action->setStatusText(i18n("Deletes the marked file")) -API для "Что это?" аналогично. Для диалогов: +API для "Что это?" аналогично. Для диалогов: -QWhatsThis::add(w, i18n("<qt>This demonstrates <b>Qt</b>'s" +QWhatsThis::add(w, i18n("<qt>This demonstrates <b>Qt</b>'s" " rich text engine.<ul>" "<li>Foo</li>" "<li>Bar</li>" "</ul></qt>")) -Для пунктов меню: +Для пунктов меню: -action->setWhatsThis(i18n("Deletes the marked file")) +action->setWhatsThis(i18n("Deletes the marked file")) -Запуск KHelpCenter доступен из класса TDEApplication. +Запуск KHelpCenter доступен из класса TDEApplication. -kapp->invokeHelp() +kapp->invokeHelp() -Отобразить первую страницу справки с её содержанием. Для вывода конкретной страницы руководства передайтеinvokeHelp() дополнительный аргумент - ссылку-"якорь" для перехода. +Отобразить первую страницу справки с её содержанием. Для вывода конкретной страницы руководства передайтеinvokeHelp() дополнительный аргумент - ссылку-"якорь" для перехода. @@ -2151,104 +1094,45 @@ rc_DATA = kviewui.rc -Компоненты и службы +Компоненты и службы -Службы KDE +Службы KDE -Что такое службы KDE? - -Понятие служба (service) - основа модульной архитектуры KDE. Нет строгой технической реализации, связанной с этим понятием - службами могут быть модули, (plugins) в форма совместно используемых библиотек, или это могут быть программы, управляемые посредством протокола DCOP. Т.е. заявление, что программа является службой определённого типа, говорит о доступности соответствующего API. В C++ тип службы можно представить в виде абстрактного класса, а саму службу - в виде реализации. - -Преимущество такого отделения очевидно: программа, поддерживающая определённый тип службы может использовать любую службу этого типа. Она просто вызывает функции, имена которых закреплены в "абстрактном классе". За счёт такой унификации, службы можно подменять, изменять без каких-либо действий над программой, использующей их. - -Некоторые примеры: +Что такое службы KDE? + +Понятие служба (service) - основа модульной архитектуры KDE. Нет строгой технической реализации, связанной с этим понятием - службами могут быть модули, (plugins) в форма совместно используемых библиотек, или это могут быть программы, управляемые посредством протокола DCOP. Т.е. заявление, что программа является службой определённого типа, говорит о доступности соответствующего API. В C++ тип службы можно представить в виде абстрактного класса, а саму службу - в виде реализации. + +Преимущество такого отделения очевидно: программа, поддерживающая определённый тип службы может использовать любую службу этого типа. Она просто вызывает функции, имена которых закреплены в "абстрактном классе". За счёт такой унификации, службы можно подменять, изменять без каких-либо действий над программой, использующей их. + +Некоторые примеры: -Движок HTML, используемый в Konqueror - встраиваемый компонент, реализующий типа служб KParts/ReadOnlyPart и Browser/View. -В KDevelop большая часть функций разделены по реализациям типа KDevelop/Part. При запуске программы, загружаются все (доступные) службы, расширяющие её функциональность. -В режиме просмотра "В виде значков", Konqueror отображает - если это включено - миниатюрные представления изображений, HTML-страниц, PDF и текстовых файлов. Если вы хотите сделать такой миниатюрный просмотр файлов, редактируемых вашим приложением, имеющих некоторый MIME-тип, вы можете реализовать службу ThumbCreator. +Движок HTML, используемый в Konqueror - встраиваемый компонент, реализующий типа служб KParts/ReadOnlyPart и Browser/View. +В KDevelop большая часть функций разделены по реализациям типа KDevelop/Part. При запуске программы, загружаются все (доступные) службы, расширяющие её функциональность. +В режиме просмотра "В виде значков", Konqueror отображает - если это включено - миниатюрные представления изображений, HTML-страниц, PDF и текстовых файлов. Если вы хотите сделать такой миниатюрный просмотр файлов, редактируемых вашим приложением, имеющих некоторый MIME-тип, вы можете реализовать службу ThumbCreator. -Служба характеризуется не только типом, который она реализует, а ещё некоторыми свойствами (properties). Например, ThumbCreator не только реализует класс C++ с типом ThumbCreator, он также имеет список MIME-типов, за которые он отвечает. Аналогично, компоненты (parts) KDevelop передают при загрузке основной программе язык, который они поддерживают. Для этого в KDE есть развитый CORBA-like trader со сложным языком запросов. +Служба характеризуется не только типом, который она реализует, а ещё некоторыми свойствами (properties). Например, ThumbCreator не только реализует класс C++ с типом ThumbCreator, он также имеет список MIME-типов, за которые он отвечает. Аналогично, компоненты (parts) KDevelop передают при загрузке основной программе язык, который они поддерживают. Для этого в KDE есть развитый CORBA-like trader со сложным языком запросов. -Определение типов служб - -Новые типы служб добавляются установкой их описания в каталог TDEDIR/share/servicetypes. В automake framework, это можно сделать заготовкой Makefile.am: - -kde_servicetypesdir_DATA = tdeveloppart.desktop +Определение типов служб + +Новые типы служб добавляются установкой их описания в каталог TDEDIR/share/servicetypes. В automake framework, это можно сделать заготовкой Makefile.am: + +kde_servicetypesdir_DATA = tdeveloppart.desktop EXTRA_DIST = $(kde_servicetypesdir_DATA) -Определение tdeveloppart.desktop для компонента KDevelop: +Определение tdeveloppart.desktop для компонента KDevelop: -[Desktop Entry] +[Desktop Entry] Type=ServiceType X-TDE-ServiceType=KDevelop/Part Name=KDevelop Part @@ -2263,43 +1147,23 @@ Type=QStringList Type=QString -Кроме обычных записей, здесь есть объявление наличия свойств. Каждое определение свойства отвечает группе [PropertyDef::name] в файле настроек. В этой группе, Type объявляет тип свойства. Возможные типы - всё, что может храниться в QVariant. +Кроме обычных записей, здесь есть объявление наличия свойств. Каждое определение свойства отвечает группе [PropertyDef::name] в файле настроек. В этой группе, Type объявляет тип свойства. Возможные типы - всё, что может храниться в QVariant. -Объявление служб общих библиотек +Объявление служб общих библиотек -Они хранятся в каталоге TDEDIR/share/services: +Они хранятся в каталоге TDEDIR/share/services: -kde_servicesdir_DATA = kdevdoxygen.desktop +kde_servicesdir_DATA = kdevdoxygen.desktop EXTRA_DIST = $(kde_servicesdir_DATA) -Файл kdevdoxygen.desktop объявляет модуль KDevDoxygen с типом службы KDevelop/Part: - -[Desktop Entry] +Файл kdevdoxygen.desktop объявляет модуль KDevDoxygen с типом службы KDevelop/Part: + +[Desktop Entry] Type=Service Comment=Doxygen Name=KDevDoxygen @@ -2309,17 +1173,9 @@ X-KDevelop-ProgrammingLanguages=C,C++,Java X-KDevelop-Scope=Project -Кроме обычных записей, здесь есть X-TDE-Library. В ней должно содержаться имя библиотеки libtool (без расширения .la). Она также устанавливает (префиксом init_) имя символьного идентификатора библиотеки, возвращающего object factory. В нашем случае, библиотека должна содержать следующую функцию: - -extern "C" { +Кроме обычных записей, здесь есть X-TDE-Library. В ней должно содержаться имя библиотеки libtool (без расширения .la). Она также устанавливает (префиксом init_) имя символьного идентификатора библиотеки, возвращающего object factory. В нашем случае, библиотека должна содержать следующую функцию: + +extern "C" { void *init_libkdevdoxygen() { return new DoxygenFactory; @@ -2327,42 +1183,19 @@ X-KDevelop-Scope=Project }; -Тип класса factory DoxygenFactory зависит от типа службы. В примере с модулем KDevelop, factory должен быть типа KDevFactory (наследник KLibFactory). Более общим примером является KParts::Factory, который производит объекты KParts::ReadOnlyPart или, в большинстве случаев, KLibFactory. +Тип класса factory DoxygenFactory зависит от типа службы. В примере с модулем KDevelop, factory должен быть типа KDevFactory (наследник KLibFactory). Более общим примером является KParts::Factory, который производит объекты KParts::ReadOnlyPart или, в большинстве случаев, KLibFactory. -Использование служб совместно используемых библиотек - -In order to use a shared library service in an application, you need to obtain a KService object representing it. This is discussed in the section about MIME types (and in a section about the trader to be written :-) - -Получив объект KService, остаётся загрузить библиотеку и получить указатель на объект factory: - -KService *service = ... +Использование служб совместно используемых библиотек + +In order to use a shared library service in an application, you need to obtain a KService object representing it. This is discussed in the section about MIME types (and in a section about the trader to be written :-) + +Получив объект KService, остаётся загрузить библиотеку и получить указатель на объект factory: + +KService *service = ... QString libName = QFile::encodeName(service->library()); KLibFactory *factory = KLibLoader::self()->factory(libName); if (!factory) { @@ -2374,13 +1207,9 @@ if (!factory) { } -Дальнейшие действия зависят от типа службы. Обычно объекты создаются методом KLibFactory::create(). Для KParts, вам нужно будет передать указатель на factory KParts::Factory и использовать его метод create(): +Дальнейшие действия зависят от типа службы. Обычно объекты создаются методом KLibFactory::create(). Для KParts, вам нужно будет передать указатель на factory KParts::Factory и использовать его метод create(): -if (factory->inherits("KParts::Factory")) { +if (factory->inherits("KParts::Factory")) { KParts::Factory *partFactory = static_cast<KParts::Factory*>(factory); QObject *obj = partFactory->createPart(parentWidget, widgetName, parent, name, "KParts::ReadOnlyPart"); @@ -2394,49 +1223,21 @@ if (!factory) { -Объявление служб DCOP - -Служба DCOP обычно реализуется в виде программы, запускаемой по запросу. Затем она переходит в цикл событий и ожидает запросов на соединение DCOP. Программа может быть интерактивной, а может полностью выполняться как демон. Примером последнего служит tdeio_uiserver, реализующий взаимодействие с пользователем типа диалога выполнения TDEIO. Преимущество такой реализации заключается в том, что процесс выполнения нескольких загрузок может быть отображён в одном окне, даже если они запущены разными программами. - -Служба DCOP объявляется указанием не библиотеки, как в прошлом случае, а имени приложения. Также, службы DCOP не указывают ServiceType, т.к. они обычно запускаются явным указанием их имени. Дополнительные свойства занимают две строки: - -X-DCOP-ServiceType определяет метод запуска. Значение Unique говорит о невозможности запуска нескольких экземпляров этой службы. Это значит, что если вы попытаетесь запуститьэту службу (например, через TDEApplication::startServiceByName(), и KDE обнаружит, что такая служба уже зарегистрирована в, то будет использована уже запущенная копия службы. В этом случае она должна быть реализована как KUniqueApplication. - -Значение Multi для X-DCOP-ServiceType говорит, что одновременно можно запускать несколько экземпляров службы, так что каждая попытка запустить её приведёт к новому запуску. Значение None говорит о необходимости немедленного запуска службы. - -X-TDE-StartupNotify обычно должно быть false. Иначе при запуске программы будет отображаться соответствующее уведомление. - -Объявление tdeio_uiserver: - -[Desktop Entry] +Объявление служб DCOP + +Служба DCOP обычно реализуется в виде программы, запускаемой по запросу. Затем она переходит в цикл событий и ожидает запросов на соединение DCOP. Программа может быть интерактивной, а может полностью выполняться как демон. Примером последнего служит tdeio_uiserver, реализующий взаимодействие с пользователем типа диалога выполнения TDEIO. Преимущество такой реализации заключается в том, что процесс выполнения нескольких загрузок может быть отображён в одном окне, даже если они запущены разными программами. + +Служба DCOP объявляется указанием не библиотеки, как в прошлом случае, а имени приложения. Также, службы DCOP не указывают ServiceType, т.к. они обычно запускаются явным указанием их имени. Дополнительные свойства занимают две строки: + +X-DCOP-ServiceType определяет метод запуска. Значение Unique говорит о невозможности запуска нескольких экземпляров этой службы. Это значит, что если вы попытаетесь запуститьэту службу (например, через TDEApplication::startServiceByName(), и KDE обнаружит, что такая служба уже зарегистрирована в, то будет использована уже запущенная копия службы. В этом случае она должна быть реализована как KUniqueApplication. + +Значение Multi для X-DCOP-ServiceType говорит, что одновременно можно запускать несколько экземпляров службы, так что каждая попытка запустить её приведёт к новому запуску. Значение None говорит о необходимости немедленного запуска службы. + +X-TDE-StartupNotify обычно должно быть false. Иначе при запуске программы будет отображаться соответствующее уведомление. + +Объявление tdeio_uiserver: + +[Desktop Entry] Type=Service Name=tdeio_uiserver Exec=tdeio_uiserver @@ -2448,14 +1249,11 @@ X-TDE-StartupNotify=false -Использование служб DCOP +Использование служб DCOP -Служба DCOP запускается несколькими методами класса TDEApplication: +Служба DCOP запускается несколькими методами класса TDEApplication: -DCOPClient *client = kapp->dcopClient(); +DCOPClient *client = kapp->dcopClient(); client->attach(); if (!client->isApplicationRegistered("tdeio_uiserver")) { QString error; @@ -2473,24 +1271,11 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", ... -Обратите внимание, что пример вызова DCOP использует явное приведение аргументов. Чаще вам придётся использовать заглушку (stub), созданную dcopidl2cpp, т.к. это намного проще и меньше подвержено ошибкам. - -В пиведенном примере, служба была запущена по имени ("by name"), т.е. первым аргументом TDEApplication::startServiceByName() является имя, указываемое в записи Name файла .desktop. Как альтернативу, можно использовать TDEApplication::startServiceByDesktopName(), которому передаётся имя файла .desktop, например "tdeio_uiserver.desktop". - -Все эти вызовы берут список URL вторым аргументом. Третий аргумент - указатель на QString. Если произойдёт ошибка, в это строку будет занесено (локализованное) сообщение об ошибке. +Обратите внимание, что пример вызова DCOP использует явное приведение аргументов. Чаще вам придётся использовать заглушку (stub), созданную dcopidl2cpp, т.к. это намного проще и меньше подвержено ошибкам. + +В пиведенном примере, служба была запущена по имени ("by name"), т.е. первым аргументом TDEApplication::startServiceByName() является имя, указываемое в записи Name файла .desktop. Как альтернативу, можно использовать TDEApplication::startServiceByDesktopName(), которому передаётся имя файла .desktop, например "tdeio_uiserver.desktop". + +Все эти вызовы берут список URL вторым аргументом. Третий аргумент - указатель на QString. Если произойдёт ошибка, в это строку будет занесено (локализованное) сообщение об ошибке. @@ -2498,89 +1283,45 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", -MIME-типы +MIME-типы -Что такое тип MIME? +Что такое тип MIME? -MIME- используются для описания типа содержимого файлов или потоков данных. Изначально они были введены для отправки изображений или звуковых файлов по e-mail (MIME расшифровывается как "Multipurpose Internet Mail Extensions"). Позднее, эта система также была использована в веб-браузерах для определения как обрабатывать данные, посылаемые веб-сервером. Например, HTML-страница имеет тип MIME "text/html", файл Postscript - "application/postscript". В KDE, эта идея используется повсеместно: +MIME- используются для описания типа содержимого файлов или потоков данных. Изначально они были введены для отправки изображений или звуковых файлов по e-mail (MIME расшифровывается как "Multipurpose Internet Mail Extensions"). Позднее, эта система также была использована в веб-браузерах для определения как обрабатывать данные, посылаемые веб-сервером. Например, HTML-страница имеет тип MIME "text/html", файл Postscript - "application/postscript". В KDE, эта идея используется повсеместно: -В режиме просмотра Konqueror "В виде значков", файлы представляются значками. Каждый MIME-тип имеет ассоциированный с ним значок. - -При нажатии по файлу в окне Konqueror, либо он просматривается во встроенном представлении, либо открывается в отдельной программе, ассоциированной с ним. - -При переносе файлов (drag-and-drop) из одного окна в другое, последнее может принимать только определённые типы данных. - -Данные, хранящиеся в буфере обмена, также имеют MIME-тип. Традиционно, программисты "иксов" принимают только изображения и текст, но а Qt не существует ограничений на тип данных. +В режиме просмотра Konqueror "В виде значков", файлы представляются значками. Каждый MIME-тип имеет ассоциированный с ним значок. + +При нажатии по файлу в окне Konqueror, либо он просматривается во встроенном представлении, либо открывается в отдельной программе, ассоциированной с ним. + +При переносе файлов (drag-and-drop) из одного окна в другое, последнее может принимать только определённые типы данных. + +Данные, хранящиеся в буфере обмена, также имеют MIME-тип. Традиционно, программисты "иксов" принимают только изображения и текст, но а Qt не существует ограничений на тип данных. -С приведённых выше примеров видно, что работа с MIME - достаточно сложная задача. Сначала, нужно установить соответствие между маской файла и типом MIME. KDE позволяет определить тип MIME не только по имени файла, а и по его содержимому, для случаев когда имя файла недоступно, или оно без расширения. Далее, необходимо установить связи между MIME-типами и программами или библиотеками, позволяющими обрабатывать их. +С приведённых выше примеров видно, что работа с MIME - достаточно сложная задача. Сначала, нужно установить соответствие между маской файла и типом MIME. KDE позволяет определить тип MIME не только по имени файла, а и по его содержимому, для случаев когда имя файла недоступно, или оно без расширения. Далее, необходимо установить связи между MIME-типами и программами или библиотеками, позволяющими обрабатывать их. -Существует большое разнообразие API для установления типа MIME данных или файлов. В общем случае, вам придётся выбирать между скоростью и достоверностью. Вы можете определить тип файла только из его расширения. Например, файл с именем foo.jpg скорее всего имеет тип "image/jpeg". Если же файл не имеет расширения, его тип придётся определять по его содержимому. Естественно, это занимает больше времени, особенно для удалённых файлов. Такой метод основывается на файле TDEDIR/share/mimelnk/magic и следовательно тяжелее расширить. В большинстве случаев, для объявления типа MIME, достаточно установить файл .desktop, который будет обрабатываться (с приемлемой скоростью) библиотеками KDE. +Существует большое разнообразие API для установления типа MIME данных или файлов. В общем случае, вам придётся выбирать между скоростью и достоверностью. Вы можете определить тип файла только из его расширения. Например, файл с именем foo.jpg скорее всего имеет тип "image/jpeg". Если же файл не имеет расширения, его тип придётся определять по его содержимому. Естественно, это занимает больше времени, особенно для удалённых файлов. Такой метод основывается на файле TDEDIR/share/mimelnk/magic и следовательно тяжелее расширить. В большинстве случаев, для объявления типа MIME, достаточно установить файл .desktop, который будет обрабатываться (с приемлемой скоростью) библиотеками KDE. -Объявление типов MIME - -Давайте объявим тип "application/x-foo" для нашей новой программы foobar. Прежде всего, нужно написать файл foo.desktop и установить его в TDEDIR/share/mimelnk/application. Это можно сделать добавлением следующего текста в Makefile.am: - -mimedir = $(kde_mimedir)/application +Объявление типов MIME + +Давайте объявим тип "application/x-foo" для нашей новой программы foobar. Прежде всего, нужно написать файл foo.desktop и установить его в TDEDIR/share/mimelnk/application. Это можно сделать добавлением следующего текста в Makefile.am: + +mimedir = $(kde_mimedir)/application mime_DATA = foo.desktop EXTRA_DIST = $(mime_DATA) -Файл foo.desktop должен выглядеть так: +Файл foo.desktop должен выглядеть так: -[Desktop Entry] +[Desktop Entry] Type=MimeType MimeType=application/x-foo Icon=fooicon @@ -2590,24 +1331,11 @@ Comment=Foo Data File Comment[ru]=Данные для Foo -Если это .desktop файл одного из пакетов KDE, запись "Comment[ru]" в нём не нужна, т.к. перевод комментариев производится другим образом (через .po-файлы, находящиеся в модуле CVS tde-i18n/ru/<пакет>/desktop_<имя>.po). .desktop указывает значок fooicon.png, представляющий файл программы, например в Konqueror. - -В библиотеках KDE, такое объявление типа устанавливается в экземпляре класса KMimeType: - -KMimeType::Ptr type = KMimeType::mimeType("application/x-foo"); +Если это .desktop файл одного из пакетов KDE, запись "Comment[ru]" в нём не нужна, т.к. перевод комментариев производится другим образом (через .po-файлы, находящиеся в модуле CVS tde-i18n/ru/<пакет>/desktop_<имя>.po). .desktop указывает значок fooicon.png, представляющий файл программы, например в Konqueror. + +В библиотеках KDE, такое объявление типа устанавливается в экземпляре класса KMimeType: + +KMimeType::Ptr type = KMimeType::mimeType("application/x-foo"); cout << "Type: " << type->name() < endl; cout << "Icon: " << type->icon() < endl; cout << "Comment: " << type->icon() < endl; @@ -2621,55 +1349,31 @@ for (it = patterns.begin(); it != patterns.end(); ++it) -Определение MIME-типа данных - -Самый быстрый метод определения типа файла - KMimeType::findByURL(). Как видно из названия, он определяется по передонному URL. Для некоторых протоколов (типа http, man, info), этот механизм не используется. Например, сценарии CGI на web-серверах написанные на Perl часто имеют расширение .pl, т.е. тип "text/x-perl". Тем не менее, сценарий передаёт клиенту обычный HTML. В таких случаях, KMimeType::findByURL() возвращает MIME -тип "application/octet-stream" (тоже самое - KMimeType::defaultMimeType()), что говорит о неудачной попытке определения типа. - -KMimeType::Ptr type = KMimeType::findByURL("/home/bernd/foobar.jpg"); +Определение MIME-типа данных + +Самый быстрый метод определения типа файла - KMimeType::findByURL(). Как видно из названия, он определяется по передонному URL. Для некоторых протоколов (типа http, man, info), этот механизм не используется. Например, сценарии CGI на web-серверах написанные на Perl часто имеют расширение .pl, т.е. тип "text/x-perl". Тем не менее, сценарий передаёт клиенту обычный HTML. В таких случаях, KMimeType::findByURL() возвращает MIME -тип "application/octet-stream" (тоже самое - KMimeType::defaultMimeType()), что говорит о неудачной попытке определения типа. + +KMimeType::Ptr type = KMimeType::findByURL("/home/bernd/foobar.jpg"); if (type->name() == KMimeType::defaultMimeType()) cout << "Could not find out type" << endl; else cout << "Type: " << type->name() << endl; -(у этого метода на самом деле больше аргументов, но они недокументированы) +(у этого метода на самом деле больше аргументов, но они недокументированы) -Определение типа файла по его содержимому реализуется классом KMimeMagic: +Определение типа файла по его содержимому реализуется классом KMimeMagic: -KMimeMagicResult *result = KMimeMagic::self()->findFileType("/home/bernd/foobar.jpg"); +KMimeMagicResult *result = KMimeMagic::self()->findFileType("/home/bernd/foobar.jpg"); if (!result || !result->isValid()) cout << "Could not find out type" << endl; else cout << "Type: " << result->mimeType() << endl; -Также, можно определять тип области памяти. Это, например, используется в Kate для определения режима подсветки: +Также, можно определять тип области памяти. Это, например, используется в Kate для определения режима подсветки: -QByteArray array; +QByteArray array; ... KMimeMagicResult *result = KMimeMagic::self()->findBufferType(array); if (!result || !result->isValid()) @@ -2678,11 +1382,9 @@ else cout << "Type: " << result->mimeType() << endl; -KMimeMagic поддерживает только локальные файлы. Для удалённых файлов: +KMimeMagic поддерживает только локальные файлы. Для удалённых файлов: -KURL url("http://developer.kde.org/favicon.ico"); +KURL url("http://developer.kde.org/favicon.ico"); QString type = TDEIO::NetAccess::mimetype(url); if (type == KMimeType::defaultMimeType()) cout << "Could not find out type" << endl; @@ -2690,18 +1392,11 @@ else cout << "Type: " << type << endl; -Это приводит к загрузке части файла через TDEIO и его проверке. Помните, что это занимает некоторое время и блокирует программу. Используйте это только если KMimeType::findByURL() вернуло "application/octet-stream". +Это приводит к загрузке части файла через TDEIO и его проверке. Помните, что это занимает некоторое время и блокирует программу. Используйте это только если KMimeType::findByURL() вернуло "application/octet-stream". -Чтобы избежать блокирования программы, можно явно запустить TDEIO-задание и соединить слот с одним из его сигналов: +Чтобы избежать блокирования программы, можно явно запустить TDEIO-задание и соединить слот с одним из его сигналов: -void FooClass::findType() +void FooClass::findType() { KURL url("http://developer.kde.org/favicon.ico"); TDEIO::MimetypeJob *job = TDEIO::mimetype(url); @@ -2722,18 +1417,11 @@ void FooClass::mimeResult(TDEIO::Job *job) -Установка связи MIME-типа с приложением или службой - -При установке приложения, или компоненты наподобие KPart , также устанавливается и файл .desktop, содержащий список MIME-типов, которые оно может обрабатывать. Получить список программ и служб, обрабатывающих данный MIME-тип, можно через класс KServiceTypeProfile: - -KService::OfferList offers = KServiceTypeProfile::offers("text/html", "Application"); +Установка связи MIME-типа с приложением или службой + +При установке приложения, или компоненты наподобие KPart , также устанавливается и файл .desktop, содержащий список MIME-типов, которые оно может обрабатывать. Получить список программ и служб, обрабатывающих данный MIME-тип, можно через класс KServiceTypeProfile: + +KService::OfferList offers = KServiceTypeProfile::offers("text/html", "Application"); KService::OfferList::ConstIterator it; for (it = offers.begin(); it != offers.end(); ++it) { KService::Ptr service = (*it); @@ -2741,47 +1429,24 @@ for (it = offers.begin(); it != offers.end(); ++it) { } -KServiceTypeProfile::offers() возвращает список в определённом пользователем порядке. Изменить предпочитаемый порядок можно командой "keditfiletype text/html". - -В приведённом выше примере запрашивался список приложений, поддерживающих text/html. Это будут - среди прочих - редакторы HTML типа Quanta Plus. Вы можете изменить второй агумент "Application" на "KParts::ReadOnlyPart". В этом случае вы получите список встраиваемых компонентов, поддерживающих HTML, например TDEHTML. - -Чтобы получить приложение по умолчанию, воспользуйтесь этим кодом: - -KService::Ptr offer = KServiceTypeProfile::preferredService("text/html", "Application"); +KServiceTypeProfile::offers() возвращает список в определённом пользователем порядке. Изменить предпочитаемый порядок можно командой "keditfiletype text/html". + +В приведённом выше примере запрашивался список приложений, поддерживающих text/html. Это будут - среди прочих - редакторы HTML типа Quanta Plus. Вы можете изменить второй агумент "Application" на "KParts::ReadOnlyPart". В этом случае вы получите список встраиваемых компонентов, поддерживающих HTML, например TDEHTML. + +Чтобы получить приложение по умолчанию, воспользуйтесь этим кодом: + +KService::Ptr offer = KServiceTypeProfile::preferredService("text/html", "Application"); if (offer) cout << "Name: " << service->name() << endl; else cout << "No appropriate service found" << endl; -Для более сложных запросов существует CORBA-like trader. +Для более сложных запросов существует CORBA-like trader. -Для запуска службы с URL, воспользуйтесь KRun: +Для запуска службы с URL, воспользуйтесь KRun: -KURL::List urlList; +KURL::List urlList; urlList << "http://www.ietf.org/rfc/rfc1341.txt?number=1341"; urlList << "http://www.ietf.org/rfc/rfc2046.txt?number=2046"; KRun::run(offer.service(), urlList); @@ -2791,25 +1456,19 @@ KRun::run(offer.service(), urlList); -Прочее +Прочее -В этом разделе мы приведём список API, относящихся к предыдущему обсуждению. +В этом разделе мы приведём список API, относящихся к предыдущему обсуждению. -Получить значок URL. +Получить значок URL. -KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); +KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); QString icon = KMimeType::iconForURL(url); -Выполненые URL. +Выполненые URL. -KURL url("http://dot.kde.org"); +KURL url("http://dot.kde.org"); new KRun(url); @@ -2819,58 +1478,33 @@ new KRun(url); -Поддержка сети +Поддержка сети -Введение - -Во время world wide web, программы должны иметь доступ к ресурсам сети - загружать файлы, передавать какие-либо данные. возможность получать доступ к файлам вне зависимости от их расположения называется сетевая прозрачность (network transparency). - -В прошлом было несколько попыток реализации этого. Старая файловая система NFS - одна из таких попыток на уровне POSIX API. Она приемлемо работала в локальных, тесно связанных сетях, но оказалась немасштабируемой до современных технологий. Здесь важна асинхронность. Пока вы ждёте загрузки страницы в вашем веб-браузере, пользовательский интерфейс не должен блокироваться. Также, прорисовка страниц не должна начинаться только после полной загрузки, а выполняться по мере поступления данных. - -В библиотеках KDE, сетевая прозрачность реализована в TDEIO API. Основная идея этой архитектуры - задание (job) ввода/вывода (IO - input/output). Задание может копировать, удалять, перемещать файлы и т.п. После запуска, задание работает в фоновом режиме и не блокирует приложение. Сообщение между заданием и приложением - например передача данных о степени выполнения - выполняется интегрировано с циклом событий Qt. - -Фоновые операции выполняются с помощью ioslaves. Они запускаются как отдельный процесс соединяются через доменные сокеты UNIX. Таким образом не требуется, многопотоковость и сбой slave'а не приведёт к сбою приложений, использующих его. - -Расположение файла определяется URL. В его начале пишется tdeioslave, обрабатывающий протокол, по которому доступен файл. Например, это может быть file, http, tar и т.д. Напримерфайл из архива tar, находящегося на http-сервере может иметь URL - -http://www-com.physik.hu-berlin.de/~bernd/article.tgz#tar:/paper.tex +Введение + +Во время world wide web, программы должны иметь доступ к ресурсам сети - загружать файлы, передавать какие-либо данные. возможность получать доступ к файлам вне зависимости от их расположения называется сетевая прозрачность (network transparency). + +В прошлом было несколько попыток реализации этого. Старая файловая система NFS - одна из таких попыток на уровне POSIX API. Она приемлемо работала в локальных, тесно связанных сетях, но оказалась немасштабируемой до современных технологий. Здесь важна асинхронность. Пока вы ждёте загрузки страницы в вашем веб-браузере, пользовательский интерфейс не должен блокироваться. Также, прорисовка страниц не должна начинаться только после полной загрузки, а выполняться по мере поступления данных. + +В библиотеках KDE, сетевая прозрачность реализована в TDEIO API. Основная идея этой архитектуры - задание (job) ввода/вывода (IO - input/output). Задание может копировать, удалять, перемещать файлы и т.п. После запуска, задание работает в фоновом режиме и не блокирует приложение. Сообщение между заданием и приложением - например передача данных о степени выполнения - выполняется интегрировано с циклом событий Qt. + +Фоновые операции выполняются с помощью ioslaves. Они запускаются как отдельный процесс соединяются через доменные сокеты UNIX. Таким образом не требуется, многопотоковость и сбой slave'а не приведёт к сбою приложений, использующих его. + +Расположение файла определяется URL. В его начале пишется tdeioslave, обрабатывающий протокол, по которому доступен файл. Например, это может быть file, http, tar и т.д. Напримерфайл из архива tar, находящегося на http-сервере может иметь URL + +http://www-com.physik.hu-berlin.de/~bernd/article.tgz#tar:/paper.tex -Использование TDEIO +Использование TDEIO -В большинстве случаев, задания создаются вызовом функций в пространстве имён TDEIO. Эти функции берут один или два URL как аргумент, и другое. После окончания задания, посылается сигнал result(TDEIO::Job*) и задание удаляется: +В большинстве случаев, задания создаются вызовом функций в пространстве имён TDEIO. Эти функции берут один или два URL как аргумент, и другое. После окончания задания, посылается сигнал result(TDEIO::Job*) и задание удаляется: -void FooClass::makeDirectory() +void FooClass::makeDirectory() { SimpleJob *job = TDEIO::mkdir(KURL("file:/home/bernd/kiodir")); connect( job, SIGNAL(result(TDEIO::Job*)), @@ -2886,174 +1520,82 @@ void FooClass::mkdirResult(TDEIO::Job *job) } -В зависимости от типа задания, можно соединить также два других сигнала. +В зависимости от типа задания, можно соединить также два других сигнала. -Краткий обзор доступных функций: +Краткий обзор доступных функций: -TDEIO::mkdir(const KURL &url, int permission) -Создать каталог, возможно указание прав доступа. +TDEIO::mkdir(const KURL &url, int permission) +Создать каталог, возможно указание прав доступа. -TDEIO::rmdir(const KURL &url) -Удалить каталог +TDEIO::rmdir(const KURL &url) +Удалить каталог -TDEIO::chmod(const KURL &url, int permissions) -Изменить права доступа файла. +TDEIO::chmod(const KURL &url, int permissions) +Изменить права доступа файла. -TDEIO::rename(const KURL &src, const KURL &dest, bool overwrite) -Переименовать файл. +TDEIO::rename(const KURL &src, const KURL &dest, bool overwrite) +Переименовать файл. -TDEIO::symlink(const QString &target, const KURL &dest, bool overwrite, bool showProgressInfo) -Создать символическую ссылку. +TDEIO::symlink(const QString &target, const KURL &dest, bool overwrite, bool showProgressInfo) +Создать символическую ссылку. -TDEIO::stat(const KURL &url, bool showProgressInfo) -Информация о файле - размер, время изменения, права доступа. Информацию можно получить из TDEIO::StatJob::statResult() после завершения задания. +TDEIO::stat(const KURL &url, bool showProgressInfo) +Информация о файле - размер, время изменения, права доступа. Информацию можно получить из TDEIO::StatJob::statResult() после завершения задания. -TDEIO::get(const KURL &url, bool reload, bool showProgressInfo) -Передать данные из URL. +TDEIO::get(const KURL &url, bool reload, bool showProgressInfo) +Передать данные из URL. -TDEIO::put(const KURL &url, int permissions, bool overwrite, bool resume, bool showProgressInfo) -Передать данные в URL. +TDEIO::put(const KURL &url, int permissions, bool overwrite, bool resume, bool showProgressInfo) +Передать данные в URL. -TDEIO::http_post(const KURL &url, const QByteArray &data, bool showProgressInfo) -Переслать данные. Специально для HTTP. +TDEIO::http_post(const KURL &url, const QByteArray &data, bool showProgressInfo) +Переслать данные. Специально для HTTP. -TDEIO::mimetype(const KURL &url, bool showProgressInfo) -Определить тип MIME. Получить его можно из TDEIO::MimetypeJob::mimetype() после окончания задания. +TDEIO::mimetype(const KURL &url, bool showProgressInfo) +Определить тип MIME. Получить его можно из TDEIO::MimetypeJob::mimetype() после окончания задания. -TDEIO::file_copy(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo) -Скопировать один файл +TDEIO::file_copy(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo) +Скопировать один файл -TDEIO::file_move(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo) -Переименовать (переместить) файл +TDEIO::file_move(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo) +Переименовать (переместить) файл -TDEIO::file_delete(const KURL &url, bool showProgressInfo) -Удалить файл. +TDEIO::file_delete(const KURL &url, bool showProgressInfo) +Удалить файл. -TDEIO::listDir(const KURL &url, bool showProgressInfo) -Содержание каталога. При каждом его изменении посылается сигнал TDEIO::ListJob::entries(). +TDEIO::listDir(const KURL &url, bool showProgressInfo) +Содержание каталога. При каждом его изменении посылается сигнал TDEIO::ListJob::entries(). -TDEIO::listRecursive(const KURL &url, bool showProgressInfo) -Аналогично listDir(), но рекурсивно. +TDEIO::listRecursive(const KURL &url, bool showProgressInfo) +Аналогично listDir(), но рекурсивно. -TDEIO::copy(const KURL &src, const KURL &dest, bool showProgressInfo) -Скопировать файл или каталог (рекурсивно). +TDEIO::copy(const KURL &src, const KURL &dest, bool showProgressInfo) +Скопировать файл или каталог (рекурсивно). -TDEIO::move(const KURL &src, const KURL &dest, bool showProgressInfo) -Переименовать файл или каталог. +TDEIO::move(const KURL &src, const KURL &dest, bool showProgressInfo) +Переименовать файл или каталог. -TDEIO::del(const KURL &src, bool shred, bool showProgressInfo) -Удалить файл или каталог. +TDEIO::del(const KURL &src, bool shred, bool showProgressInfo) +Удалить файл или каталог. @@ -3062,128 +1604,63 @@ void FooClass::mkdirResult(TDEIO::Job *job) -Каталоги +Каталоги -TDEIO::stat() и TDEIO::listDir() возвращают свой результат в типе UDSEntry, UDSEntryList соотв. Последний определён как QValueList<UDSEntry>. UDS расшифровывается как "Universal directory service". Принцип заключается в том, запись о каталоге содержит только ту информацию, доступную ioslave. Например, http slave не предоставляет информацию о правах доступа и владельцах файла. UDSEntry является списком UDSAtom'ов. Каждый атом содержит определённую часть информации. Он состоит из типа, хранящегося в m_uds и либо целого в m_long, либо строки в m_str, в зависимости от типа. +TDEIO::stat() и TDEIO::listDir() возвращают свой результат в типе UDSEntry, UDSEntryList соотв. Последний определён как QValueList<UDSEntry>. UDS расшифровывается как "Universal directory service". Принцип заключается в том, запись о каталоге содержит только ту информацию, доступную ioslave. Например, http slave не предоставляет информацию о правах доступа и владельцах файла. UDSEntry является списком UDSAtom'ов. Каждый атом содержит определённую часть информации. Он состоит из типа, хранящегося в m_uds и либо целого в m_long, либо строки в m_str, в зависимости от типа. -Определены следующие типы: +Определены следующие типы: -UDS_SIZE (integer) -Размер файла. - -UDS_USER (string) - Владелец файла. - -UDS_GROUP (string) - Группа файла. - -UDS_NAME (string) - Имя файла. - -UDS_ACCESS (integer) - Права доступа как в функции libc stat() в поле st_mode. - -UDS_FILE_TYPE (integer) - Тип файла, например, как записывается функцией stat() в поле st_mode. Вы можете использовать обычные макросы libc наподобие S_ISDIR для тестирования этого значения. Помните, что данные, предоставляемые ioslave'ами соответствуютstat(), не lstat(), т.е., например, в случае символической ссылки будет возвращаться тип файла, на который ссылка указывает. - -UDS_LINK_DEST (string) - В случае символической ссылки, имя файла, на который она ссылается. - -UDS_MODIFICATION_TIME (integer) - Время (тип time_t) последнего изменения файла, как сохраняется функцией stat() в поле st_mtime. - -UDS_ACCESS_TIME (integer) - Время последнего доступа, как записывается функцией stat() в поле st_atime. - -UDS_CREATION_TIME (integer) - Время создания файла, как, например, записывается функцией stat() в поле st_ctime. - -UDS_URL (string) - URL файла. - -UDS_MIME_TYPE (string) - MIME-тип файла - -UDS_GUESSED_MIME_TYPE (string) - MIME-тип файла, по предположению slave. В отличие от предыдущего, не всегда точный (т.к. в некоторых случаях точное определение типа требует больших затрат ресурсов). Например, класс KRun явно проверяет MIME-тип только если он не располагает точной информацией. +UDS_SIZE (integer) -Размер файла. + +UDS_USER (string) - Владелец файла. + +UDS_GROUP (string) - Группа файла. + +UDS_NAME (string) - Имя файла. + +UDS_ACCESS (integer) - Права доступа как в функции libc stat() в поле st_mode. + +UDS_FILE_TYPE (integer) - Тип файла, например, как записывается функцией stat() в поле st_mode. Вы можете использовать обычные макросы libc наподобие S_ISDIR для тестирования этого значения. Помните, что данные, предоставляемые ioslave'ами соответствуютstat(), не lstat(), т.е., например, в случае символической ссылки будет возвращаться тип файла, на который ссылка указывает. + +UDS_LINK_DEST (string) - В случае символической ссылки, имя файла, на который она ссылается. + +UDS_MODIFICATION_TIME (integer) - Время (тип time_t) последнего изменения файла, как сохраняется функцией stat() в поле st_mtime. + +UDS_ACCESS_TIME (integer) - Время последнего доступа, как записывается функцией stat() в поле st_atime. + +UDS_CREATION_TIME (integer) - Время создания файла, как, например, записывается функцией stat() в поле st_ctime. + +UDS_URL (string) - URL файла. + +UDS_MIME_TYPE (string) - MIME-тип файла + +UDS_GUESSED_MIME_TYPE (string) - MIME-тип файла, по предположению slave. В отличие от предыдущего, не всегда точный (т.к. в некоторых случаях точное определение типа требует больших затрат ресурсов). Например, класс KRun явно проверяет MIME-тип только если он не располагает точной информацией. -Не смотря на всю гибкость хранения информации в UDSEntry, для программиста это всё же составляет некоторые трудности (задержки во времени реализации). Например, чтобы определить MIME-тип файла, вам нужно итерировать по всем атомам и проверить является ли m_uds UDS_MIME_TYPE. к счастью, существует более простой API: класс KFileItem. +Не смотря на всю гибкость хранения информации в UDSEntry, для программиста это всё же составляет некоторые трудности (задержки во времени реализации). Например, чтобы определить MIME-тип файла, вам нужно итерировать по всем атомам и проверить является ли m_uds UDS_MIME_TYPE. к счастью, существует более простой API: класс KFileItem. -Синхронное использование +Синхронное использование -Часто, асинхронное API TDEIO слишком сложное для использования, и асинхронность не всегда важна. Например, в программе, которая может работать только с одним документом в одно время, можно сделать немногое в время загрузки файла. Для таких простых случаев, вы можете воспользоваться функциями класса TDEIO::NetAccess. Например, чтобы скопировать файл: +Часто, асинхронное API TDEIO слишком сложное для использования, и асинхронность не всегда важна. Например, в программе, которая может работать только с одним документом в одно время, можно сделать немногое в время загрузки файла. Для таких простых случаев, вы можете воспользоваться функциями класса TDEIO::NetAccess. Например, чтобы скопировать файл: -KURL source, target; +KURL source, target; source = ...; target = ... TDEIO::NetAccess::copy(source, target); -Функция возвратится после выполнения задания. Будет показана информация о прогрессе, а программа всё равно будет получать события прорисовки. - -Некоторый интерес также представляет комбинация функций removeTempFile() и download(). Последняя загружает файл по заданному URL и сохраняет его во временный файл с уникальным именем. Имя файла сохраняется во второй аргумент. Если URL ссылается на локальный файл, второй аргумент содержит локальное имя файла. ФункцияremoveTempFile()удаляет файл если он получился в результате загрузки. Вот заготовка кода для загрузки файла не смотря на его положение: - -KURL url; +Функция возвратится после выполнения задания. Будет показана информация о прогрессе, а программа всё равно будет получать события прорисовки. + +Некоторый интерес также представляет комбинация функций removeTempFile() и download(). Последняя загружает файл по заданному URL и сохраняет его во временный файл с уникальным именем. Имя файла сохраняется во второй аргумент. Если URL ссылается на локальный файл, второй аргумент содержит локальное имя файла. ФункцияremoveTempFile()удаляет файл если он получился в результате загрузки. Вот заготовка кода для загрузки файла не смотря на его положение: + +KURL url; url = ...; QString tempFile; if (TDEIO::NetAccess::download(url, tempFile) { @@ -3197,14 +1674,11 @@ if (TDEIO::NetAccess::download(url, tempFile) { -Метаданные +Метаданные -Интерфейс к заданиям TDEIO достаточно абстрактный. При создании задания, вы можете добавить метаданные к нему. Каждый элемент метаданных состоит из пары ключ-значение. Например, чтобы указать HTTP-slave не использовать кэш при загрузке страницы: +Интерфейс к заданиям TDEIO достаточно абстрактный. При создании задания, вы можете добавить метаданные к нему. Каждый элемент метаданных состоит из пары ключ-значение. Например, чтобы указать HTTP-slave не использовать кэш при загрузке страницы: -void FooClass::reloadPage() +void FooClass::reloadPage() { KURL url("http://www.kdevelop.org/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); @@ -3213,15 +1687,9 @@ if (TDEIO::NetAccess::download(url, tempFile) { } -Такой же механизм используется и в обратном направлении. Метод Job::queryMetaData() позволяет запрашивать данные. Например HTTP-slave может предоставить ключ"modified", содержащий (в виде строки) дату последнего изменения страницы. Пример: +Такой же механизм используется и в обратном направлении. Метод Job::queryMetaData() позволяет запрашивать данные. Например HTTP-slave может предоставить ключ"modified", содержащий (в виде строки) дату последнего изменения страницы. Пример: -void FooClass::printModifiedDate() +void FooClass::printModifiedDate() { KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); @@ -3245,40 +1713,24 @@ void FooClass::transferResult(TDEIO::Job *job) -Очередь +Очередь -Используя TDEIO API, вам не нужно разбираться в подробностях запуска IO slave'ов и связи с ними. Чаще всего нужно просто запустить задание и обрабатывать посылаемые им сигналы. +Используя TDEIO API, вам не нужно разбираться в подробностях запуска IO slave'ов и связи с ними. Чаще всего нужно просто запустить задание и обрабатывать посылаемые им сигналы. -На самом деле, за занавесками всё намного сложнее. При создании задания оно помещается в очередь, когда приложение возвращается в главный цикл событий, TDEIO создаёт процессы slave для заданий в очереди. После завершения работы, задание не уничтожается, а находится в "подвешенном состоянии" около 3 минут - на случай если поступит запрос на новое задание с теми же протоколом и узлом. +На самом деле, за занавесками всё намного сложнее. При создании задания оно помещается в очередь, когда приложение возвращается в главный цикл событий, TDEIO создаёт процессы slave для заданий в очереди. После завершения работы, задание не уничтожается, а находится в "подвешенном состоянии" около 3 минут - на случай если поступит запрос на новое задание с теми же протоколом и узлом. -Если slave'ы запускаются по мере поступления запросов (т.е. параллельно), эта схема называется прямой. Это не всегда приемлемо т.к. требует дополнительных затрат памяти. +Если slave'ы запускаются по мере поступления запросов (т.е. параллельно), эта схема называется прямой. Это не всегда приемлемо т.к. требует дополнительных затрат памяти. -Чтобы избежать этого, можно воспользоваться расписанием (schedule) заданий. При этом одновременно может выполняться только ограниченное число заданий (сейчас это 3). Следующие задания будут ставиться в очередь: +Чтобы избежать этого, можно воспользоваться расписанием (schedule) заданий. При этом одновременно может выполняться только ограниченное число заданий (сейчас это 3). Следующие задания будут ставиться в очередь: -KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); +KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); TDEIO::Scheduler::scheduleJob(job); -Третий вариант - ориентация на соединения. Например, для IMAP slave, не имеет смысла запускать несколько процессов для одного сервера. Поэтому нельзя запускать несколько заданий к одному серверу. Это можно сделать с помощью TDEIO::Scheduler: +Третий вариант - ориентация на соединения. Например, для IMAP slave, не имеет смысла запускать несколько процессов для одного сервера. Поэтому нельзя запускать несколько заданий к одному серверу. Это можно сделать с помощью TDEIO::Scheduler: -KURL baseUrl("imap://bernd@albert.physik.hu-berlin.de"); +KURL baseUrl("imap://bernd@albert.physik.hu-berlin.de"); TDEIO::Slave *slave = TDEIO::Scheduler::getConnectedSlave(baseUrl); TDEIO::TransferJob *job1 = TDEIO::get(KURL(baseUrl, "/INBOX;UID=79374")); @@ -3292,30 +1744,24 @@ TDEIO::Scheduler::assignJobToSlave(slave, job2); TDEIO::Scheduler::disconnectSlave(slave); -После запуска такого задания, гарантируется, что они выполнятся полностью. +После запуска такого задания, гарантируется, что они выполнятся полностью. -Добавление ioslave +Добавление ioslave -Далее мы обсудим процесс создания ioslave. По аналогии со службами, установка заключается в написании небольшого конфигурационного файла. Следующая заготовка Makefile.am устанавливает протокол ftp: +Далее мы обсудим процесс создания ioslave. По аналогии со службами, установка заключается в написании небольшого конфигурационного файла. Следующая заготовка Makefile.am устанавливает протокол ftp: -protocoldir = $(kde_servicesdir) +protocoldir = $(kde_servicesdir) protocol_DATA = ftp.protocol EXTRA_DIST = $(mime_DATA) -Содержание ftp.protocol: +Содержание ftp.protocol: -[Protocol] +[Protocol] exec=tdeio_ftp protocol=ftp input=none @@ -3328,32 +1774,15 @@ deleting=true Icon=ftp -Запись "protocol" определяет протоколы, за которые отвечает slave. "exec" - имя библиотеки, реализующей slave. Призпуске задания, "tdeinit" загружает указанную билиотеку. - -Строки "input" "output" не используются на данный момент. - -Оставшиеся строки в файле .protocol определяют возможности slave'а. Последние обычно намного проще, чем TDEIO API. Например, чтобы получить рекурсивный листинг каталога, запускается задание для сканирования верхнего каталога, затем для каждого подкаталога запускается ещё одно, отдельное, задание. При этом существует ограничение на количество одновременно запущенных заданий. Аналогично, чтобы скопировать файл с протоколом, не поддерживающим это напрямую, (напримерftp:), TDEIO читает файл и передаёт его по назначению. - -Т.к. slave' загружаются в виде совместно используемых библиотек, но действуют отдельно, их структура исходных файлов немного отличается от структуры обычной библиотеки. Функция, вызываемая для запуска называется kdemain(). В ней обычно выполняются некоторые инициализации, а затем она входит в цикл событий: - -extern "C" { int kdemain(int argc, char **argv); } +Запись "protocol" определяет протоколы, за которые отвечает slave. "exec" - имя библиотеки, реализующей slave. Призпуске задания, "tdeinit" загружает указанную билиотеку. + +Строки "input" "output" не используются на данный момент. + +Оставшиеся строки в файле .protocol определяют возможности slave'а. Последние обычно намного проще, чем TDEIO API. Например, чтобы получить рекурсивный листинг каталога, запускается задание для сканирования верхнего каталога, затем для каждого подкаталога запускается ещё одно, отдельное, задание. При этом существует ограничение на количество одновременно запущенных заданий. Аналогично, чтобы скопировать файл с протоколом, не поддерживающим это напрямую, (напримерftp:), TDEIO читает файл и передаёт его по назначению. + +Т.к. slave' загружаются в виде совместно используемых библиотек, но действуют отдельно, их структура исходных файлов немного отличается от структуры обычной библиотеки. Функция, вызываемая для запуска называется kdemain(). В ней обычно выполняются некоторые инициализации, а затем она входит в цикл событий: + +extern "C" { int kdemain(int argc, char **argv); } int kdemain(int argc, char **argv) { @@ -3377,234 +1806,78 @@ int kdemain(int argc, char **argv) -Реализация ioslave - -Slave'ы реализованы в виде подклассовTDEIO::SlaveBase. Следовательно, действия, перечисленные в.protocol отвечают определённым виртуальным функциям TDEIO::SlaveBase, которые должны реализовываться в slave'е, а именно: +Реализация ioslave + +Slave'ы реализованы в виде подклассовTDEIO::SlaveBase. Следовательно, действия, перечисленные в.protocol отвечают определённым виртуальным функциям TDEIO::SlaveBase, которые должны реализовываться в slave'е, а именно: -reading - читает данные из URL -void get(const KURL &url) - -writing - записывает данные в URL и создаёт файл если его не существует. -void put(const KURL &url, int permissions, bool overwrite, bool resume) - -moving - переименовывает файл. -void rename(const KURL &src, const KURL &dest, bool overwrite) - -deleting - удаляет файл или каталог. -void del(const KURL &url, bool isFile) - -listing - содержание каталога. -void listDir(const KURL &url) - -makedir - создаёт каталог. -void mkdir(const KURL &url, int permissions) +reading - читает данные из URL +void get(const KURL &url) + +writing - записывает данные в URL и создаёт файл если его не существует. +void put(const KURL &url, int permissions, bool overwrite, bool resume) + +moving - переименовывает файл. +void rename(const KURL &src, const KURL &dest, bool overwrite) + +deleting - удаляет файл или каталог. +void del(const KURL &url, bool isFile) + +listing - содержание каталога. +void listDir(const KURL &url) + +makedir - создаёт каталог. +void mkdir(const KURL &url, int permissions) -Также, существуют виртуальные функции, которые не нужно заносить в файл .protocol - TDEIO автоматически может определить поддерживаются они или нет. +Также, существуют виртуальные функции, которые не нужно заносить в файл .protocol - TDEIO автоматически может определить поддерживаются они или нет. -Сведения о файле, аналогично stat() из C. -void stat(const KURL &url) - -Изменяет права доступа файла. -void chmod(const KURL &url, int permissions) - -Определяет MIME-тип файла. -void mimetype(const KURL &url) - -Копирует файл. -copy(const KURL &url, const KURL &dest, int permissions, bool overwrite) - -Создаёт символическую ссылку. -void symlink(const QString &target, const KURL &dest, bool overwrite) +Сведения о файле, аналогично stat() из C. +void stat(const KURL &url) + +Изменяет права доступа файла. +void chmod(const KURL &url, int permissions) + +Определяет MIME-тип файла. +void mimetype(const KURL &url) + +Копирует файл. +copy(const KURL &url, const KURL &dest, int permissions, bool overwrite) + +Создаёт символическую ссылку. +void symlink(const QString &target, const KURL &dest, bool overwrite) -Все реализации должны завершаться одним из двух вызовов - finished() или error() (с кодом ошибки в первом аргументе и строкой объяснения в втором). Коды ошибок перечислены в enum TDEIO::Error. Второй аргумент - обычно URL. Это используется например вTDEIO::Job::showErrorDialog(). - -Для slave'ов, реализующих сетевые протоколы, нужно реализовать функцию SlaveBase::setHost(). Она вызывается для передачи имени узла, порта, имени пользователя и пароля. Вообще, метаданные, предоставляемые приложением, можно получить с помощью SlaveBase::metaData(). Наличие их можно определить функцией SlaveBase::hasMetaData(). +Все реализации должны завершаться одним из двух вызовов - finished() или error() (с кодом ошибки в первом аргументе и строкой объяснения в втором). Коды ошибок перечислены в enum TDEIO::Error. Второй аргумент - обычно URL. Это используется например вTDEIO::Job::showErrorDialog(). + +Для slave'ов, реализующих сетевые протоколы, нужно реализовать функцию SlaveBase::setHost(). Она вызывается для передачи имени узла, порта, имени пользователя и пароля. Вообще, метаданные, предоставляемые приложением, можно получить с помощью SlaveBase::metaData(). Наличие их можно определить функцией SlaveBase::hasMetaData(). -Обратная связь с приложением +Обратная связь с приложением -get() посылает блоки данных. Это сделано с помощью функции data(), аргументом которой является QByteArray. Если вы посылаете большой файл, вызовите data() с меньшими блоками. Функция finished() вызывается по завершению передачи. +get() посылает блоки данных. Это сделано с помощью функции data(), аргументом которой является QByteArray. Если вы посылаете большой файл, вызовите data() с меньшими блоками. Функция finished() вызывается по завершению передачи. -listDir() выдаёт сведения о содержимом каталога. Для этого вызовите listEntries() с аргументом типаTDEIO::UDSEntryList. Подобноdata(), вы можете сделать это несколько раз. В конце вызовите listEntry() с вторым аргументом равным true. Вы также можете вызватьtotalSize() для передачи количества элементов каталога. - -stat() выдаёт сведения о файле, например его размер, MIME-тип и т.д. Они упаковываются в один элемент типа TDEIO::UDSEntry, обсуждаемый ранее. Используйте statEntry() для передачи такого элемента приложению. - -mimetype() вызывает mimeType() с аргументом типа string. - -get() и copy() могут предоставлять информацию о процессе выполнения с помощью методов totalSize(), processedSize(), speed(). Общий и выполненный размеры передаются в байтах, скорость - в байтах в секунду. - -Вы можете посылать произвольные пары ключ-значение с помощью setMetaData(). +listDir() выдаёт сведения о содержимом каталога. Для этого вызовите listEntries() с аргументом типаTDEIO::UDSEntryList. Подобноdata(), вы можете сделать это несколько раз. В конце вызовите listEntry() с вторым аргументом равным true. Вы также можете вызватьtotalSize() для передачи количества элементов каталога. + +stat() выдаёт сведения о файле, например его размер, MIME-тип и т.д. Они упаковываются в один элемент типа TDEIO::UDSEntry, обсуждаемый ранее. Используйте statEntry() для передачи такого элемента приложению. + +mimetype() вызывает mimeType() с аргументом типа string. + +get() и copy() могут предоставлять информацию о процессе выполнения с помощью методов totalSize(), processedSize(), speed(). Общий и выполненный размеры передаются в байтах, скорость - в байтах в секунду. + +Вы можете посылать произвольные пары ключ-значение с помощью setMetaData(). @@ -3612,47 +1885,19 @@ int kdemain(int argc, char **argv) -Взаимодействие с пользователем +Взаимодействие с пользователем -Иногда slave должен взаимодействовать с пользователем. Это может быть в виде информационных сообщений, диалогов авторизации и подтверждения замены файла. +Иногда slave должен взаимодействовать с пользователем. Это может быть в виде информационных сообщений, диалогов авторизации и подтверждения замены файла. -infoMessage() - информационное сообщение, такое как "Retrieving data from <host>" http slave'а, обычно отображаемое в панели состояния. На стороне приложения, этот метод отвечает сигналу TDEIO::Job::infoMessage(). - -warning() - предупреждение в окне сообщений с KMessageBox::information(). - -messageBox() - расширенная версия предыдущего. Здесь можно устанавливать свои кнопки, текст заголовка. Для подробностей обратитесь к определению enum SlaveBase::MessageBoxType. - -openPassDlg() - Открыть диалог для ввода имени пользователя и пароля. +infoMessage() - информационное сообщение, такое как "Retrieving data from <host>" http slave'а, обычно отображаемое в панели состояния. На стороне приложения, этот метод отвечает сигналу TDEIO::Job::infoMessage(). + +warning() - предупреждение в окне сообщений с KMessageBox::information(). + +messageBox() - расширенная версия предыдущего. Здесь можно устанавливать свои кнопки, текст заголовка. Для подробностей обратитесь к определению enum SlaveBase::MessageBoxType. + +openPassDlg() - Открыть диалог для ввода имени пользователя и пароля. @@ -3665,8 +1910,7 @@ int kdemain(int argc, char **argv) -Лицензии +Лицензии &underFDL; &underGPL; diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/adv-build-management.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/adv-build-management.docbook index d7dd6aef518..a9e20a0795a 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/adv-build-management.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/adv-build-management.docbook @@ -1,172 +1,60 @@ -Расширенное использование менеджера проектов -&automake; +Расширенное использование менеджера проектов +&automake; -Несколько конфигураций сборки -конфигурации сборкинесколько +Несколько конфигураций сборки +конфигурации сборкинесколько -(... в процессе написания ...) +(... в процессе написания ...) - + -Кросс-платформенное компилирование -кросс-платформенное компилирование -сборка, компиляциякросс-платформенное - - -Если у вас есть кросс-компиляторы, вы можете компилировать программы под процессоры и операционные системы, отличные от текущей. Коллекция компиляторов &GNU; GCC может также быть собрана с поддержкой кросс-компиляции. Для подробностей см. info-страницы GCC. Некоторые дистрибутивы &Linux; также предоставляют уже собранные кросс-платформенные версии компиляторов. - -Выполнить кросс-компиляцию пакетов, основанных на automake, можно указанием ключа в команде запуска сценария configure и установкой переменных окружения CC и CXX. В &tdevelop; есть возможность создания нескольких конфигураций сборки. Для подробностей см. . После того, как вы создали новую конфигурацию сборки через диалог Проект Параметры проекта..., добавьте ключ - -платформа - -в опции configure. Платформа указывается в виде - -процессор-поставщик-ОС -или -процессор-поставщик-ядро-ОС - -Кроем, того вы можете использовать краткую форму, например i386-linux или arm-elf. - - +Кросс-платформенное компилирование +кросс-платформенное компилирование +сборка, компиляциякросс-платформенное + + +Если у вас есть кросс-компиляторы, вы можете компилировать программы под процессоры и операционные системы, отличные от текущей. Коллекция компиляторов &GNU; GCC может также быть собрана с поддержкой кросс-компиляции. Для подробностей см. info-страницы GCC. Некоторые дистрибутивы &Linux; также предоставляют уже собранные кросс-платформенные версии компиляторов. + +Выполнить кросс-компиляцию пакетов, основанных на automake, можно указанием ключа в команде запуска сценария configure и установкой переменных окружения CC и CXX. В &tdevelop; есть возможность создания нескольких конфигураций сборки. Для подробностей см. . После того, как вы создали новую конфигурацию сборки через диалог Проект Параметры проекта..., добавьте ключ + +платформа + +в опции configure. Платформа указывается в виде + +процессор-поставщик-ОС +или +процессор-поставщик-ядро-ОС + +Кроем, того вы можете использовать краткую форму, например i386-linux или arm-elf. + + -Qt/Embedded -embeddedQt -Qt/Embedded -Qtopia -framebuffer - -&qte; — это вариант библиотеки &Qt;, который не использует X Window, а прорисовывает графику напрямую на framebuffer системы &Linux;. Это полезно для встраиваемых систем с ограничениями по использованию памяти. &API; этой библиотеки полностью совместимо с библиотекой для X11. - -Разработка приложения для &qte; в &tdevelop; не очень отличается от разработки под &Qt; для X11. На самом деле, вы даже можете использовать одну кодовую базу для обоих версий. Если вы используете менеджер autoproject, вы можете переключиться на версию embedded передачей ключа скрипту configure. Это можно сделать в диалоге Проект Параметры проекта... в разделе Параметры configure. Ключом можно указать каталог, в котором установлен &qte;. - -После конфигурации и сборки вашего приложения с этими ключами, оно будет использовать библиотеку libqpe.so. Его нельзя будет запустить совместно с X11. Чтобы протестировать его, запустите его из программы tqvfb (&Qt; Virtual Frame Buffer). - -app - -В можете создать несколько сборочных конфигураций, как описано выше. - -Приложения для &qte; обычно выполняются как отдельные команды на устройстве, для которого они сделаны. Trolltech также поддерживает Qtopia, коллекцию приложений для PIM, обзора web, и других направлений, работающих вместе. Это стандартное окружение, например, на КПК Sharp Zaurus. Вы можете писать приложения, интегрированные в это окружение, используя Qtopia SDK. Это достигается созданием основного класса вашего приложения подклассом QPEApplication и сборкой с подключением библиотеки libqpe.so. Если вы разрабатываете ваше приложение используя менеджер autoproject, вам нужно добавить ключ в опции configure. - - - - +Qt/Embedded +embeddedQt +Qt/Embedded +Qtopia +framebuffer + +&qte; — это вариант библиотеки &Qt;, который не использует X Window, а прорисовывает графику напрямую на framebuffer системы &Linux;. Это полезно для встраиваемых систем с ограничениями по использованию памяти. &API; этой библиотеки полностью совместимо с библиотекой для X11. + +Разработка приложения для &qte; в &tdevelop; не очень отличается от разработки под &Qt; для X11. На самом деле, вы даже можете использовать одну кодовую базу для обоих версий. Если вы используете менеджер autoproject, вы можете переключиться на версию embedded передачей ключа скрипту configure. Это можно сделать в диалоге Проект Параметры проекта... в разделе Параметры configure. Ключом можно указать каталог, в котором установлен &qte;. + +После конфигурации и сборки вашего приложения с этими ключами, оно будет использовать библиотеку libqpe.so. Его нельзя будет запустить совместно с X11. Чтобы протестировать его, запустите его из программы tqvfb (&Qt; Virtual Frame Buffer). + +app + +В можете создать несколько сборочных конфигураций, как описано выше. + +Приложения для &qte; обычно выполняются как отдельные команды на устройстве, для которого они сделаны. Trolltech также поддерживает Qtopia, коллекцию приложений для PIM, обзора web, и других направлений, работающих вместе. Это стандартное окружение, например, на КПК Sharp Zaurus. Вы можете писать приложения, интегрированные в это окружение, используя Qtopia SDK. Это достигается созданием основного класса вашего приложения подклассом QPEApplication и сборкой с подключением библиотеки libqpe.so. Если вы разрабатываете ваше приложение используя менеджер autoproject, вам нужно добавить ключ в опции configure. + + + + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/app-changelog.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/app-changelog.docbook index 4d0fd6868d3..ad3e3bf7254 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/app-changelog.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/app-changelog.docbook @@ -1,21 +1,16 @@ -История изменений +История изменений -Список изменений, внесённых в настоящий документ +Список изменений, внесённых в настоящий документ - 3 января 2003 Bernd Gehrmann, Caleb Tennis + 3 января 2003 Bernd Gehrmann, Caleb Tennis - начальная разметка руководства + начальная разметка руководства - добавлены черновые наброски многих глав + добавлены черновые наброски многих глав @@ -23,63 +18,49 @@ - 1 августа 2004 Bernd Pol, Ian Wadham + 1 августа 2004 Bernd Pol, Ian Wadham - руководство слегка реорганизовано + руководство слегка реорганизовано - дописаны некоторые пропущенные главы + дописаны некоторые пропущенные главы - 2 мая 2005 Volker Paul — Много изменений, в том числе: + 2 мая 2005 Volker Paul — Много изменений, в том числе: - руководство разбито по принцип «один файл на главу» + руководство разбито по принцип «один файл на главу» - добавлена справка по командам меню (описание ещё не закончено) + добавлена справка по командам меню (описание ещё не закончено) - пример работы с AppWizard в getting-started.docbook + пример работы с AppWizard в getting-started.docbook - реорганизованы главы согласно руководству Konqueror + реорганизованы главы согласно руководству Konqueror - перенесены в приложения: «Установка», «Разработка под Unix», «Вкратце — cоветы и подсказки» + перенесены в приложения: «Установка», «Разработка под Unix», «Вкратце — cоветы и подсказки» - переписано приложение по модулям, включая модуль генератора списка listplugins.sh + переписано приложение по модулям, включая модуль генератора списка listplugins.sh - всё ещё далеко до финала, но это небольшой шаг вперёд. + всё ещё далеко до финала, но это небольшой шаг вперёд. - 20 мая 2006 Bernd Pol — заполнено ещё несколько мест, находящихся «в процессе написания»: + 20 мая 2006 Bernd Pol — заполнено ещё несколько мест, находящихся «в процессе написания»: - - + +
diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/app-files.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/app-files.docbook index 0036e38c250..7746f8089d7 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/app-files.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/app-files.docbook @@ -5,1594 +5,387 @@ - BerndPol + BerndPol -Конфигурационные файлы, используемые &tdevelop; +Конфигурационные файлы, используемые &tdevelop; -&tdevelop; использует целое множество файлов для хранения разнообразных настроек Их можно разделить на две группы: +&tdevelop; использует целое множество файлов для хранения разнообразных настроек Их можно разделить на две группы: - Конфигурация &tdevelop; по умолчанию. - Пользовательские конфигурации — модифицированные файлы первой группы. + Конфигурация &tdevelop; по умолчанию. + Пользовательские конфигурации — модифицированные файлы первой группы. -Основная конфигурация &tdevelop; +Основная конфигурация &tdevelop; -Во время установки &tdevelop; в подпапки $TDEDIR (обычно это одна /opt/kde или /usr/local/kde, см. Установка &tdevelop;) записываюися файлы с начальной конфигурацией. +Во время установки &tdevelop; в подпапки $TDEDIR (обычно это одна /opt/kde или /usr/local/kde, см. Установка &tdevelop;) записываюися файлы с начальной конфигурацией. -Конфигурация &tdevelop; по умолчанию +Конфигурация &tdevelop; по умолчанию -Параметры, связанные непосредственно с &tdevelop;, хранятся в одном файле, который находится в папке $TDEDIR/share/config/: +Параметры, связанные непосредственно с &tdevelop;, хранятся в одном файле, который находится в папке $TDEDIR/share/config/: - tdeveloprc - Файл содержит основные параметры &tdevelop;. Он будет скопирован в $TDEHOME/share/config для каждого пользователя, запустившего &tdevelop; в первый раз. + tdeveloprc + Файл содержит основные параметры &tdevelop;. Он будет скопирован в $TDEHOME/share/config для каждого пользователя, запустившего &tdevelop; в первый раз. - + -Стандартные значения, связанные с приложением +Стандартные значения, связанные с приложением -Большая часть функциональности &tdevelop; реализуется через модули KPart (см. обзор в приложении Модули). Каждый такой компонент имеет собственный набор конфигурационных файлов, начальная версия которых хранится в подпапках $TDEDIR/share/apps/. +Большая часть функциональности &tdevelop; реализуется через модули KPart (см. обзор в приложении Модули). Каждый такой компонент имеет собственный набор конфигурационных файлов, начальная версия которых хранится в подпапках $TDEDIR/share/apps/. -Соответствующие им подпапки начинаются с kdev. Большинство из них предназначены только для внутреннего использования. Их можно организовать в несколько групп: - Самостоятельные приложения - Проблемно-ориентированные модули - Модули работы с проектами - Модули поддержки языков +Соответствующие им подпапки начинаются с kdev. Большинство из них предназначены только для внутреннего использования. Их можно организовать в несколько групп: + Самостоятельные приложения + Проблемно-ориентированные модули + Модули работы с проектами + Модули поддержки языков - - Самостоятельные приложения + + Самостоятельные приложения - tdevelop/ — содержит конфигурацию &tdevelop; &IDE;. + tdevelop/ — содержит конфигурацию &tdevelop; &IDE;. - licenses/ — содержит тексты лицензий. - pics/ — содержит заставки &tdevelop;, &tdevelop; Assistant и &tdevelop; Designer. - profiles/ — стандартные настройки профиля модулей. На время написания в папке находится только один файл tiny, определяющий минимальный набор активных модулей &tdevelop;. - eventsrc — некоторые сообщения, переведенные нв другие языки. - tdevelopui.rc — базовое меню и кнопки панелей инструментов, используемые в &tdevelop;. - kdevhtml_partui.rc — пункт Печать... в меню Файл, Копировать в меню Правка и кнопки перехода на основной панели инструментов когда модулем Документация открыт файл &HTML;. + licenses/ — содержит тексты лицензий. + pics/ — содержит заставки &tdevelop;, &tdevelop; Assistant и &tdevelop; Designer. + profiles/ — стандартные настройки профиля модулей. На время написания в папке находится только один файл tiny, определяющий минимальный набор активных модулей &tdevelop;. + eventsrc — некоторые сообщения, переведенные нв другие языки. + tdevelopui.rc — базовое меню и кнопки панелей инструментов, используемые в &tdevelop;. + kdevhtml_partui.rc — пункт Печать... в меню Файл, Копировать в меню Правка и кнопки перехода на основной панели инструментов когда модулем Документация открыт файл &HTML;. - kdevassistant/ — меню и панели инструментов просмотрщика документации. - kdevdesigner/ и kdevdesignerpart/ — меню и панели инструментов для редактора форм. - + kdevassistant/ — меню и панели инструментов просмотрщика документации. + kdevdesigner/ и kdevdesignerpart/ — меню и панели инструментов для редактора форм. + - - Проблемно-ориентированные модули + + Проблемно-ориентированные модули - kdevabbrev/ — модуль сокращений: + kdevabbrev/ — модуль сокращений: - sources/ — определения сокращений, используемых командой Завершить текст. - templates/ — определения шаблонов, используемых командой Автозамена. - kdevabbrev.rc — вставляет пункты Завершить текст и Автозамена в меню Правка. + sources/ — определения сокращений, используемых командой Завершить текст. + templates/ — определения шаблонов, используемых командой Автозамена. + kdevabbrev.rc — вставляет пункты Завершить текст и Автозамена в меню Правка. - kdevappwizard/ — файлы, используемые Мастером приложений: + kdevappwizard/ — файлы, используемые Мастером приложений: - importfiles/ — файлы проектов .tdevelop, используемых при создании новый проектов. - imports/ — шаблоны фавйлов .desktop. - template-common/ — другие файлы, включаемые в дистрибутив проектов. - templates/ — конфигурационные файлы, содержащие данные, которые включаются в каталог нового проекта. - *.png — изображения, используемые в Мастере приложений. - *.tar.gz — архивы с исходными файлами, которые добавляются в папку создаваемого проекта. + importfiles/ — файлы проектов .tdevelop, используемых при создании новый проектов. + imports/ — шаблоны фавйлов .desktop. + template-common/ — другие файлы, включаемые в дистрибутив проектов. + templates/ — конфигурационные файлы, содержащие данные, которые включаются в каталог нового проекта. + *.png — изображения, используемые в Мастере приложений. + *.tar.gz — архивы с исходными файлами, которые добавляются в папку создаваемого проекта. - kdevastyle/ — пункт Переформатировать код вы меню Правка. - kdevautoproject/ — основные элементы меню Сборка и панели инструментов Сборка (&tdevelop;). + kdevastyle/ — пункт Переформатировать код вы меню Правка. + kdevautoproject/ — основные элементы меню Сборка и панели инструментов Сборка (&tdevelop;). - kdevclassview/ — файлы, используемые модулем работы с классами: + kdevclassview/ — файлы, используемые модулем работы с классами: - pics/ — значки, используемые в дереве классов. - kdevclassview.tc — пункт Диаграмма наследования в меню Проект, а также выпадающий список перехода по классам на основной панели инструментов. + pics/ — значки, используемые в дереве классов. + kdevclassview.tc — пункт Диаграмма наследования в меню Проект, а также выпадающий список перехода по классам на основной панели инструментов. - kdevcloser/ — пункты, отвечающие за закрытие, в менюОкно. - kdevctags/ — пункт CTags в меню Сервис. - kdevcvsservice/ — значок, используемый на вкладке CvsService и для маленького сценария, добавляющего файл в хранилище &cvs;. - kdevdebugger/ — основная часть меню Отладка. - kdevdiff/ — пункт Окно просмотра различий в меню Сервис. - kdevdistpart/ — пункт Публикация и распространение в меню Проект. + kdevcloser/ — пункты, отвечающие за закрытие, в менюОкно. + kdevctags/ — пункт CTags в меню Сервис. + kdevcvsservice/ — значок, используемый на вкладке CvsService и для маленького сценария, добавляющего файл в хранилище &cvs;. + kdevdebugger/ — основная часть меню Отладка. + kdevdiff/ — пункт Окно просмотра различий в меню Сервис. + kdevdistpart/ — пункт Публикация и распространение в меню Проект. - kdevdocumentation/ — файлы, используемые модулем Документация: + kdevdocumentation/ — файлы, используемые модулем Документация: - en/ и pics/ — файлы, используемые модулем поиска htdig. - tocs/ — стандартные файлы описания документации &tdevelop; (для подробностей см. Структура &tdevelop; TOC). - kdevpart_documentation.rc — пункты поиска в меню Справка. + en/ и pics/ — файлы, используемые модулем поиска htdig. + tocs/ — стандартные файлы описания документации &tdevelop; (для подробностей см. Структура &tdevelop; TOC). + kdevpart_documentation.rc — пункты поиска в меню Справка. - kdevdoxygen/ — пункты меню для работы с генератором API-документации Doxygen. + kdevdoxygen/ — пункты меню для работы с генератором API-документации Doxygen. - kdevfilecreate/ — содержит файлы, используемые мастером новых файлов: - file-templates/ — шаблоны исходных файлов различных типов. - kdevpart_filecreate.rc — пункт Создать в меню Файл. - template-info.xml — описания поддерживаемых типов файлов для служебного окна Новый файл. + kdevfilecreate/ — содержит файлы, используемые мастером новых файлов: + file-templates/ — шаблоны исходных файлов различных типов. + kdevpart_filecreate.rc — пункт Создать в меню Файл. + template-info.xml — описания поддерживаемых типов файлов для служебного окна Новый файл. - - kdevfilter/ — пунктыВыполнить команду... и Фильтровать выделение через команду... в менюСервис. - kdevfullscreen/ — пункт Полный экран в меню Вид и соответствующий значок на панели инструментов. - kdevgrepview/ — пункт Найти в файлах... в менюПравка. - kdevhistory/ — пункты Назад и Вперёд в меню Вид. - kdevjavadebugger/ — меню Отладка Java. - kdevoutputviews/ — пункты Следующая ошибка и Предыдущая ошибка в меню Вид. - kdevpartexplorer/ — пункт ->Диспетчер компонентов в меню Сервис. - kdevquickopen/ — пункт Быстрое открытие файла... в меню Файл и пункты Быстрое открытие класса.... и Быстрое открытие метода... в меню Сервис. - kdevregexptest/ — пункт Проверить регулярное выражение... в меню Сервис. - kdevreplace/ — пункт Поиск-Выбор-Замена... в меню Правка. - kdevtipofday/ — отвечает за пункт Совет дня в меню Справка. - kdevtools/ — различные пункты меню, созданные в Меню инструментов и Внешние инструменты. - kdevvalgrind/ — пункты Проверка утечек памяти с помощью Valgrind и Профилировать в KCachegrind в меню Отладка. - - - - Компоненты, отвечающие за создание/сборку проектов - kdevadaproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов Ada. - kdevantproject/ — пункты меню Сборка для создания проектов Ant. - kdevautoproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, основывающихся на. &GNU; Tools &automake;. Также — Добавить перевод... и Конфигурация сборки в меню Проект. - kdevcustomproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, использующих статические Makefile. - kdevgenericproject/ — определения меню для экспериментального универсального генератора проектов. На текущий момент (3.1.0) — не используется. - kdevhaskellproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов на языке Haskell. - kdevpascalproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов на языке Pascal. - kdevtrollproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, использующих &Qt; QMake. - - - - Компоненты, отвечающие за поддержку языков - kdevadasupport/ — пункты меню Сервис и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами Ada. - kdevbashsupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за разработку Bash-сценариев. + + kdevfilter/ — пунктыВыполнить команду... и Фильтровать выделение через команду... в менюСервис. + kdevfullscreen/ — пункт Полный экран в меню Вид и соответствующий значок на панели инструментов. + kdevgrepview/ — пункт Найти в файлах... в менюПравка. + kdevhistory/ — пункты Назад и Вперёд в меню Вид. + kdevjavadebugger/ — меню Отладка Java. + kdevoutputviews/ — пункты Следующая ошибка и Предыдущая ошибка в меню Вид. + kdevpartexplorer/ — пункт >Диспетчер компонентов в меню Сервис. + kdevquickopen/ — пункт Быстрое открытие файла... в меню Файл и пункты Быстрое открытие класса.... и Быстрое открытие метода... в меню Сервис. + kdevregexptest/ — пункт Проверить регулярное выражение... в меню Сервис. + kdevreplace/ — пункт Поиск-Выбор-Замена... в меню Правка. + kdevtipofday/ — отвечает за пункт Совет дня в меню Справка. + kdevtools/ — различные пункты меню, созданные в Меню инструментов и Внешние инструменты. + kdevvalgrind/ — пункты Проверка утечек памяти с помощью Valgrind и Профилировать в KCachegrind в меню Отладка. + + + + Компоненты, отвечающие за создание/сборку проектов + kdevadaproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов Ada. + kdevantproject/ — пункты меню Сборка для создания проектов Ant. + kdevautoproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, основывающихся на. &GNU; Tools &automake;. Также — Добавить перевод... и Конфигурация сборки в меню Проект. + kdevcustomproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, использующих статические Makefile. + kdevgenericproject/ — определения меню для экспериментального универсального генератора проектов. На текущий момент (3.1.0) — не используется. + kdevhaskellproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов на языке Haskell. + kdevpascalproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов на языке Pascal. + kdevtrollproject/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, использующих &Qt; QMake. + + + + Компоненты, отвечающие за поддержку языков + kdevadasupport/ — пункты меню Сервис и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами Ada. + kdevbashsupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за разработку Bash-сценариев. - kdevcppsupport/ — файлы, используемые Мастером приложений для создания приложений C++: + kdevcppsupport/ — файлы, используемые Мастером приложений для создания приложений C++: - newclass/ — шаблоны заголовочных и исходных файлов. - subclassing/ — шаблоны декларации/определения классов в исходны файлах. - templates — заготовки шаблонов, которые будут использоваться в Мастере новых файлов для данного проекта. - configuration — пустой шаблон для добавления макросов. - kdevcppsupport.rc — пункты Дополнить текст и Генерировать член класса в меню Правка, Переключить заголовочный/исходный файл в меню Вид, Новый класс в меню Проект и на основной панели инструментов. + newclass/ — шаблоны заголовочных и исходных файлов. + subclassing/ — шаблоны декларации/определения классов в исходны файлах. + templates — заготовки шаблонов, которые будут использоваться в Мастере новых файлов для данного проекта. + configuration — пустой шаблон для добавления макросов. + kdevcppsupport.rc — пункты Дополнить текст и Генерировать член класса в меню Правка, Переключить заголовочный/исходный файл в меню Вид, Новый класс в меню Проект и на основной панели инструментов. - kdevfortransupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами на языке Fortran. - kdevhaskellsupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами на языке Haskell. - kdevjavasupport/ — пользовательский интерфейс для разработки &Java;-приложений. - kdevpascalsupport/ — пользовательский интерфейс для разработки приложений на языке Pascal. - kdevperlsupport/ — пункты меню Проект и Справка для разработки сценариев на языке Perl. - kdevphpsupport/ — пользовательский интерфейс и файлы для определения функций для разработки на языке PHP. - kdevpythonsupport/ — пункты меню Сборка и Справка и соответствующие кнопки на панели инструментов для разработки сценариев на языке Python. - kdevrubysupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов для разработки сценариев на языке Ruby. - kdevscriptproject/ — пользовательский интерфейс для работы со специальными проектами. На данный момент (3.1.0) — не используется. - kdevsqlsupport/ — пользовательский интерфейс для работы с SQL-проектами. На данный момент (3.1.0) — не используется. - + kdevfortransupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами на языке Fortran. + kdevhaskellsupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами на языке Haskell. + kdevjavasupport/ — пользовательский интерфейс для разработки &Java;-приложений. + kdevpascalsupport/ — пользовательский интерфейс для разработки приложений на языке Pascal. + kdevperlsupport/ — пункты меню Проект и Справка для разработки сценариев на языке Perl. + kdevphpsupport/ — пользовательский интерфейс и файлы для определения функций для разработки на языке PHP. + kdevpythonsupport/ — пункты меню Сборка и Справка и соответствующие кнопки на панели инструментов для разработки сценариев на языке Python. + kdevrubysupport/ — пункты меню Сборка и соответствующие кнопки на панели инструментов для разработки сценариев на языке Ruby. + kdevscriptproject/ — пользовательский интерфейс для работы со специальными проектами. На данный момент (3.1.0) — не используется. + kdevsqlsupport/ — пользовательский интерфейс для работы с SQL-проектами. На данный момент (3.1.0) — не используется. + - + - + -Пользовательская конфигурация +Пользовательская конфигурация -Вся информация о параметрах, определяемых пользователем, хранится в двух подкаталогах $TDEHOME: - Конфигурация приложения хранится в $TDEHOME/share/apps/ - Конфигурация ресурсов - в $TDEHOME/share/config/. +Вся информация о параметрах, определяемых пользователем, хранится в двух подкаталогах $TDEHOME: + Конфигурация приложения хранится в $TDEHOME/share/apps/ + Конфигурация ресурсов - в $TDEHOME/share/config/. -Конфигурация приложения +Конфигурация приложения -Все изменения конфигурации &tdevelop; по умолчанию, внесенные пользователем, а также все пользовательские параметры, которые не хранятся в Конфигурации ресурсов, находяся в подкаталогах kdev... $TDEHOME/share/apps/. -Большинство таких конфигурационных файлов используются модулями &tdevelop; для вывода своих пунктов меню и кнопок на панелях инструментов. Таким образом, они предсталвяют интерес только если с пользовательским интерфейсом что-то не так. -При первом запуске &tdevelop; скопирует все файлы из $TDEDIR/apps/ в $TDEHOME/apps/ и будет вносить изменения только в локальные (для текущего пользователя) их копии. +Все изменения конфигурации &tdevelop; по умолчанию, внесенные пользователем, а также все пользовательские параметры, которые не хранятся в Конфигурации ресурсов, находяся в подкаталогах kdev... $TDEHOME/share/apps/. +Большинство таких конфигурационных файлов используются модулями &tdevelop; для вывода своих пунктов меню и кнопок на панелях инструментов. Таким образом, они предсталвяют интерес только если с пользовательским интерфейсом что-то не так. +При первом запуске &tdevelop; скопирует все файлы из $TDEDIR/apps/ в $TDEHOME/apps/ и будет вносить изменения только в локальные (для текущего пользователя) их копии. - kdevabbrev/ — модуль сокращений: + kdevabbrev/ — модуль сокращений: - sources/ — на текущий момент пустая; &tdevelop; использует файлы определения сокращений по умолчанию. Они используются командой Завершить текст. - templates/ — изменённые пользователем определения шаблонов, используемых командой Автозамена. - kdevabbrev.rc — вставляет пункты Завершить текст и Автозамена в меню Правка. - + sources/ — на текущий момент пустая; &tdevelop; использует файлы определения сокращений по умолчанию. Они используются командой Завершить текст. + templates/ — изменённые пользователем определения шаблонов, используемых командой Автозамена. + kdevabbrev.rc — вставляет пункты Завершить текст и Автозамена в меню Правка. + - kdevappwizard/ — пункты Новый проект... и Импортировать существующий проект... меню Проект. Мастер приложений будет использовать параметры конфигурации по умолчанию. + kdevappwizard/ — пункты Новый проект... и Импортировать существующий проект... меню Проект. Мастер приложений будет использовать параметры конфигурации по умолчанию. - kdevastyle/ — вставляет пункт Переформатировать код в меню Правка. + kdevastyle/ — вставляет пункт Переформатировать код в меню Правка. - kdevautoproject/ — меню и панель инструментов Сборка. + kdevautoproject/ — меню и панель инструментов Сборка. - kdevclassview/ — пункты Диаграмма наследования меню Проект, а также выпадающий список навигатора по классам на основной панели инструментов. + kdevclassview/ — пункты Диаграмма наследования меню Проект, а также выпадающий список навигатора по классам на основной панели инструментов. - kdevcloser/ — пункт Закрыть выделенные окна... меню Окно. + kdevcloser/ — пункт Закрыть выделенные окна... меню Окно. - kdevcppsupport/ — содержит конфигурацию, используемую Мастером приложений для генерирования проектов на C++. Основная же часть настроек берётся из папки конфигурации по умолчанию. + kdevcppsupport/ — содержит конфигурацию, используемую Мастером приложений для генерирования проектов на C++. Основная же часть настроек берётся из папки конфигурации по умолчанию. - newclass/ — шаблоны заголовков и исходных файлов. + newclass/ — шаблоны заголовков и исходных файлов. - pcs/ — файлы базы данных, используемых &tdevelop; для генерирования файла Persistent Code Store (.pcs) проекта на C++. + pcs/ — файлы базы данных, используемых &tdevelop; для генерирования файла Persistent Code Store (.pcs) проекта на C++. - kdevcppsupport.rc — пункты Дополнить текст и Генерировать член класса в меню Правка, Переключить заголовочный/исходный файл в меню Вид, Новый класс в меню Проект и на основной панели инструментов. + kdevcppsupport.rc — пункты Дополнить текст и Генерировать член класса в меню Правка, Переключить заголовочный/исходный файл в меню Вид, Новый класс в меню Проект и на основной панели инструментов. - kdevctags/ — пункт CTags в меню Сервис. + kdevctags/ — пункт CTags в меню Сервис. - kdevdebugger/ — основная часть меню Отладка. + kdevdebugger/ — основная часть меню Отладка. - kdevdiff/ — пункт Окно просмотра различий в меню Сервис. + kdevdiff/ — пункт Окно просмотра различий в меню Сервис. - kdevdocumentation/ — содержит файлы, используемые модулемдокументации в дополнение к файлам конфигурации по умолчанию. - Подкаталоги kdevdocumentation/ преимущественно содержат информацию о регистрации. Сами файлы настройки хранятся в файлах doc...pluginrc в каталоге $TDEHOME/share/config/. + kdevdocumentation/ — содержит файлы, используемые модулемдокументации в дополнение к файлам конфигурации по умолчанию. + Подкаталоги kdevdocumentation/ преимущественно содержат информацию о регистрации. Сами файлы настройки хранятся в файлах doc...pluginrc в каталоге $TDEHOME/share/config/. - bookmarks/ — отвечает за вкладку Закладки модулядокументации. + bookmarks/ — отвечает за вкладку Закладки модулядокументации. - index/ — кэш для ускорения поиска через вкладку Индекс модуля документации. + index/ — кэш для ускорения поиска через вкладку Индекс модуля документации. - search/ — файлы, используемые средством поиска htdig, обрабатывающем запросы со вкладки Поиск модуля документации. + search/ — файлы, используемые средством поиска htdig, обрабатывающем запросы со вкладки Поиск модуля документации. - kdevpart_documentation.rc — пункты поиска в меню Справка. + kdevpart_documentation.rc — пункты поиска в меню Справка. - kdevdoxygen/ — пункты меню для работы с генератором API-документации Doxygen. + kdevdoxygen/ — пункты меню для работы с генератором API-документации Doxygen. - tdevelop/ — некоторые параметры, используемые для базовой настройки &tdevelop;: + tdevelop/ — некоторые параметры, используемые для базовой настройки &tdevelop;: - profiles/ — профиль модулей (сначала там есть только профиль FullIDE, определяющий полный набор активных модулей). - tdevelopui.rc — базовое меню и кнопки панелей инструментов, используемые в &tdevelop;. + profiles/ — профиль модулей (сначала там есть только профиль FullIDE, определяющий полный набор активных модулей). + tdevelopui.rc — базовое меню и кнопки панелей инструментов, используемые в &tdevelop;. - kdevfilecreate/ — содержит файлы, используемые мастером новых файлов: + kdevfilecreate/ — содержит файлы, используемые мастером новых файлов: - file-templates/ — текст, помещаемый в создаваемые исходные файлы для каждого из их типов. Другие шаблоны можно найти в папке с конфигурацией по умолчанию. - kdevpart_filecreate.rc — пункт Создать в меню Файл. - template-info.xml — описания поддерживаемых типов файлов для служебного окна Новый файл. + file-templates/ — текст, помещаемый в создаваемые исходные файлы для каждого из их типов. Другие шаблоны можно найти в папке с конфигурацией по умолчанию. + kdevpart_filecreate.rc — пункт Создать в меню Файл. + template-info.xml — описания поддерживаемых типов файлов для служебного окна Новый файл. - kdevfilter/ — пунктыВыполнить команду... и Фильтровать выделение через команду... в менюСервис. + kdevfilter/ — пунктыВыполнить команду... и Фильтровать выделение через команду... в менюСервис. - kdevfullscreen/ — пункт Полный экран в меню Вид и соответствующий значок на панели инструментов. + kdevfullscreen/ — пункт Полный экран в меню Вид и соответствующий значок на панели инструментов. - kdevgrepview/ — пункт Найти в файлах... в менюПравка. + kdevgrepview/ — пункт Найти в файлах... в менюПравка. - kdevoutputviews/ — пункты Следующая ошибка и Предыдущая ошибка в меню Вид. + kdevoutputviews/ — пункты Следующая ошибка и Предыдущая ошибка в меню Вид. - kdevpartexplorer/ — пункт ->Диспетчер компонентов в меню Сервис. + kdevpartexplorer/ — пункт >Диспетчер компонентов в меню Сервис. - kdevquickopen/ — пункт Быстрое открытие файла... в меню Файл и пункты Быстрое открытие класса.... и Быстрое открытие метода... в меню Сервис. + kdevquickopen/ — пункт Быстрое открытие файла... в меню Файл и пункты Быстрое открытие класса.... и Быстрое открытие метода... в меню Сервис. - kdevregexptest/ — пункт Проверить регулярное выражение... в меню Сервис. + kdevregexptest/ — пункт Проверить регулярное выражение... в меню Сервис. - kdevreplace/ — пункт Поиск-Выбор-Замена... в меню Правка. + kdevreplace/ — пункт Поиск-Выбор-Замена... в меню Правка. - kdevtipofday/ — пункт Совет дня в меню Справка. HTML-файл советами находится в папке с конфигурацией по умолчанию. + kdevtipofday/ — пункт Совет дня в меню Справка. HTML-файл советами находится в папке с конфигурацией по умолчанию. - kdevtools/ — различные пункты меню, созданные в Меню инструментов и Внешние инструменты. + kdevtools/ — различные пункты меню, созданные в Меню инструментов и Внешние инструменты. - kdevvalgrind/ — пункты Проверка утечек памяти с помощью Valgrind и Профилировать в KCachegrind в меню Отладка. + kdevvalgrind/ — пункты Проверка утечек памяти с помощью Valgrind и Профилировать в KCachegrind в меню Отладка. - + -Конфигурация ресурсов +Конфигурация ресурсов -В папке $TDEHOME/share/config/ находится две группы файлов, различаемых по символам в начале и конце их имён: - doc...pluginrc - файлы, используемые модулем документации. - kdev...rc - файлы, используемые &tdevelop; и его модулями. +В папке $TDEHOME/share/config/ находится две группы файлов, различаемых по символам в начале и конце их имён: + doc...pluginrc - файлы, используемые модулем документации. + kdev...rc - файлы, используемые &tdevelop; и его модулями. -Конфигурационные файлы, используемые &tdevelop; +Конфигурационные файлы, используемые &tdevelop; - kdevabbrevrc — текущая конфигурация модуля автозамены. - Здесь определяется только будет использоваться автозамена, или нет. Определения правил автозамены будут помещаться в $TDEHOME/share/apps/kdevabbrev/templates/templates. + kdevabbrevrc — текущая конфигурация модуля автозамены. + Здесь определяется только будет использоваться автозамена, или нет. Определения правил автозамены будут помещаться в $TDEHOME/share/apps/kdevabbrev/templates/templates. - kdevassistantrc — конфигурация автономного просмотрщика документации &tdevelop; Assistant. - Большинство общих настроек разделяются с файлом настроек &tdevelop; IDE - tdeveloprc. + kdevassistantrc — конфигурация автономного просмотрщика документации &tdevelop; Assistant. + Большинство общих настроек разделяются с файлом настроек &tdevelop; IDE - tdeveloprc. - kdevassistantuimode4rc — конфигурация многодокументных режимов (позиции панелей инструментов, служебных окон и т.д.) автономного просмотрщика документации &tdevelop; Assistant. + kdevassistantuimode4rc — конфигурация многодокументных режимов (позиции панелей инструментов, служебных окон и т.д.) автономного просмотрщика документации &tdevelop; Assistant. - kdevclassviewrc — параметры режима просмотра вкладки панели классов. - Эти параметры глобальны, но модуль просмотр классов можно отключить в отдельном проекте. + kdevclassviewrc — параметры режима просмотра вкладки панели классов. + Эти параметры глобальны, но модуль просмотр классов можно отключить в отдельном проекте. - kdevcppsupportrc — некоторые параметры, используемые для работы с CPP-файлами. В частности, здесь вы найдёте настройки генератора классов C++. - kdevdocumentationrc — параметры модуля документации. - tdeveloprc — содержит глобальные настройки, используемые &tdevelop; IDE и &tdevelop; Assistant. - tdevelopuimode4rc — текущие настройки многодокументного режима &tdevelop; IDE. - kdevfileselectorrc — параметры модуля выбора файлов. - kdevfileviewrc — параметры цветового оформления имён файлов для модуля интеграции с CVS. - kdevfilterrc — параметры модуля фильтрации через конвейер интерпретатора. - kdevgrepviewrc — параметры модуля grep. - kdevsnippetrc — параметры модуля заготовок кода. - kdevtoolsrc — параметры модуля расширения меню Сервис. + kdevcppsupportrc — некоторые параметры, используемые для работы с CPP-файлами. В частности, здесь вы найдёте настройки генератора классов C++. + kdevdocumentationrc — параметры модуля документации. + tdeveloprc — содержит глобальные настройки, используемые &tdevelop; IDE и &tdevelop; Assistant. + tdevelopuimode4rc — текущие настройки многодокументного режима &tdevelop; IDE. + kdevfileselectorrc — параметры модуля выбора файлов. + kdevfileviewrc — параметры цветового оформления имён файлов для модуля интеграции с CVS. + kdevfilterrc — параметры модуля фильтрации через конвейер интерпретатора. + kdevgrepviewrc — параметры модуля grep. + kdevsnippetrc — параметры модуля заготовок кода. + kdevtoolsrc — параметры модуля расширения меню Сервис. -Конфигурационные файлы, используемые модулем документации - docchmpluginrc — информация о файлах &Microsoft; CHM. - doccustompluginrc — хранит информацию про файлы документации в нестандартном формате, определённые на вкладке Коллекция документации диалога настроек программы. - docdevhelppluginrc — хранит информацию про файлы документации в формате GNOME 2 DevHelp, определяемые на вкладке Коллекция документации DevHelp диалога настроек программы. - docdoxygenpluginrc — хранит информацию про файлы API-документации, сгенерированной Doxygen, определяемые на вкладке Коллекция документации Doxygen диалога настроек программы. - dockdevtocpluginrc — хранит информацию про файлы-индексы документации в формате KDevelopTOC, определяемые на вкладке KDevelopTOC Documentation Collection диалога настроек программы. - docqtpluginrc — хранит информацию про файлы документации QT. +Конфигурационные файлы, используемые модулем документации + docchmpluginrc — информация о файлах &Microsoft; CHM. + doccustompluginrc — хранит информацию про файлы документации в нестандартном формате, определённые на вкладке Коллекция документации диалога настроек программы. + docdevhelppluginrc — хранит информацию про файлы документации в формате GNOME 2 DevHelp, определяемые на вкладке Коллекция документации DevHelp диалога настроек программы. + docdoxygenpluginrc — хранит информацию про файлы API-документации, сгенерированной Doxygen, определяемые на вкладке Коллекция документации Doxygen диалога настроек программы. + dockdevtocpluginrc — хранит информацию про файлы-индексы документации в формате KDevelopTOC, определяемые на вкладке KDevelopTOC Documentation Collection диалога настроек программы. + docqtpluginrc — хранит информацию про файлы документации QT. - + - + -Параметры проектов +Параметры проектов -Большая часть параметров проекта хранится в файле <имя-проекта>.tdevelop, а также <имя-проекта>.kdevses: +Большая часть параметров проекта хранится в файле <имя-проекта>.tdevelop, а также <имя-проекта>.kdevses: - <имя-проекта>.tdevelop — общая конфигурация проекта. - <имя-проекта>.kdevses — сведения для восстановления параметров прошлого сеанса работы с проектом. + <имя-проекта>.tdevelop — общая конфигурация проекта. + <имя-проекта>.kdevses — сведения для восстановления параметров прошлого сеанса работы с проектом. -Оба файла имеют &XML;-формат. +Оба файла имеют &XML;-формат. -Постоянное хранилище кода +Постоянное хранилище кода -Третий файл конфигурации проекта - <имя-проекта>.tdevelop.pcs. Это двоичный файл, хранящий кеш внутреннего анализатора, позволяющий ускорить процесс загрузки. Также, такие файлы хранят ифнормацию, используемую для инструмента авто-дополнения кода. +Третий файл конфигурации проекта - <имя-проекта>.tdevelop.pcs. Это двоичный файл, хранящий кеш внутреннего анализатора, позволяющий ускорить процесс загрузки. Также, такие файлы хранят ифнормацию, используемую для инструмента авто-дополнения кода. -На вкладке Авто-дополнение кода страницы Поддержка C++ параметров проекта можно установить дополнительные .pcs-файлы. Информация о них хранится в $TDEHOME/share/apps/kdevcppsupport/pcs/. +На вкладке Авто-дополнение кода страницы Поддержка C++ параметров проекта можно установить дополнительные .pcs-файлы. Информация о них хранится в $TDEHOME/share/apps/kdevcppsupport/pcs/. - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/app-menu.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/app-menu.docbook index 44b188de869..dcb7c63ccac 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/app-menu.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/app-menu.docbook @@ -2,71 +2,48 @@ - BerndPol + BerndPol -Обзор меню и панелей инструментов +Обзор меню и панелей инструментов -(... в процессе написания ...) +(... в процессе написания ...) -Меню +Меню -(... в процессе написания ...) +(... в процессе написания ...) -Общие меню +Общие меню -(... в процессе написания ...) +(... в процессе написания ...) - + -Меню, связанные с проектами +Меню, связанные с проектами -(... в процессе написания ...) +(... в процессе написания ...) - + -Меню модулей +Меню модулей -(... в процессе написания ...) +(... в процессе написания ...) - + - + -Панели инструментов +Панели инструментов -(... в процессе написания ...) +(... в процессе написания ...) - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/app-misc-info.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/app-misc-info.docbook index fb057e16c6c..7342b4f6aba 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/app-misc-info.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/app-misc-info.docbook @@ -1,28 +1,18 @@ -Дополнительная информация +Дополнительная информация -Получение информации -(... в процессе написания ...) - +Получение информации +(... в процессе написания ...) + -Отчёты об ошибках -(... в процессе написания ...) - +Отчёты об ошибках +(... в процессе написания ...) + -Лицензирование -&underFDL; &underGPL; - +Лицензирование +&underFDL; &underGPL; + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/app-uimodes-examples.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/app-uimodes-examples.docbook index d08ae1f5b81..f07a88e4838 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/app-uimodes-examples.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/app-uimodes-examples.docbook @@ -1,180 +1,103 @@ -&tdevelop; в разных режимах интерфейса +&tdevelop; в разных режимах интерфейса -Режим IDEAl +Режим IDEAl -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - Снимок экрана - &tdevelop; в режиме IDEAl + Снимок экрана + &tdevelop; в режиме IDEAl -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - Снимок экрана - &tdevelop; в режиме IDEAl с закрытыми вкладками + Снимок экрана + &tdevelop; в режиме IDEAl с закрытыми вкладками -Этот снимок экрана демонстрирует удобство режима IDEAl, когда доступно максимально большое рабочее пространство. Все инструменты доступны через соответствующие вкладки. -Возможно, вам потребуется некоторое время чтобы привыкнуть к значкам панели вкладок. Наведите курсор мыши на один из значков и через секунду появится подсказка. На снимке экрана отображена подсказка к вкладке Менеджера Automake. +Этот снимок экрана демонстрирует удобство режима IDEAl, когда доступно максимально большое рабочее пространство. Все инструменты доступны через соответствующие вкладки. +Возможно, вам потребуется некоторое время чтобы привыкнуть к значкам панели вкладок. Наведите курсор мыши на один из значков и через секунду появится подсказка. На снимке экрана отображена подсказка к вкладке Менеджера Automake. -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - + -Дочерние окна +Дочерние окна -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - Снимок экрана - &tdevelop; в режиме Дочерние окна + Снимок экрана + &tdevelop; в режиме Дочерние окна -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - + -Вкладки +Вкладки -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - Снимок экрана - &tdevelop; в режиме Вкладки + Снимок экрана + &tdevelop; в режиме Вкладки -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - + -Отдельные окна +Отдельные окна -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - Снимок экрана - &tdevelop; в режиме Отдельные окна + Снимок экрана + &tdevelop; в режиме Отдельные окна -Вернуться к обзору режимов интерфейса. +Вернуться к обзору режимов интерфейса. - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/applicationwizard.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/applicationwizard.docbook index f311842384e..07bc3256f94 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/applicationwizard.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/applicationwizard.docbook @@ -2,686 +2,310 @@ - BerndPol + BerndPol -Начало работы — создание проекта +Начало работы — создание проекта - Создание проекта + Создание проекта -В &tdevelop; разработка программного обеспечения организована в рамках проектов. Проект содержит всё, что относится к данному задаче программирования: файлы исходного кода, файлы данных, средства управления, в том числе система сборки, доступ ко всем компонентам и к любым дополнительным инструментам. Словом всё, что нужно для получения реально работающей программы. -Такая организация позволяет легко переключаться между независимыми задачами. Это очень удобно, если вы работаете над несколькими приложениями одновременно, что бывает очень часто. Откройте проект в &tdevelop; и вы сразу сможете продолжить работу над ним с того места, где остановились в прошлый раз. +В &tdevelop; разработка программного обеспечения организована в рамках проектов. Проект содержит всё, что относится к данному задаче программирования: файлы исходного кода, файлы данных, средства управления, в том числе система сборки, доступ ко всем компонентам и к любым дополнительным инструментам. Словом всё, что нужно для получения реально работающей программы. +Такая организация позволяет легко переключаться между независимыми задачами. Это очень удобно, если вы работаете над несколькими приложениями одновременно, что бывает очень часто. Откройте проект в &tdevelop; и вы сразу сможете продолжить работу над ним с того места, где остановились в прошлый раз. -Новые проекты +Новые проекты - проект - новый - -При создании нового проекта нужно выполнить множество формальных процедур: указать структуру папок проекта, создать базовые заголовочные файлы и файлы реализации, осуществить первоначальную настройку сборочной системы и так далее. -&tdevelop; обеспечивает простой способ создания нового проекта — Мастер создания нового проекта. Его можно запустить из меню ПроектСоздать проект. -Мастер проекта значительно упрощает и автоматизирует создание нового проекта: + проект + новый + +При создании нового проекта нужно выполнить множество формальных процедур: указать структуру папок проекта, создать базовые заголовочные файлы и файлы реализации, осуществить первоначальную настройку сборочной системы и так далее. +&tdevelop; обеспечивает простой способ создания нового проекта — Мастер создания нового проекта. Его можно запустить из меню ПроектСоздать проект. +Мастер проекта значительно упрощает и автоматизирует создание нового проекта: - На первом этапе вы можете использовать один из предлагаемых шаблонов проектов. - Там же необходимо указать некоторую общую информацию по проекту: названия приложения, его размещения и так далее. - На следующем шаге решите, будете ли вы использовать систему контроля версий, такую, как например, CVS, и, если будете, укажите необходимые данные. - Выберите шаблоны для заголовочных файлов и файлов реализации (если есть). - Теперь осталось сгенерировать начальные файлы, структуру папок, начальные заголовочные файлы, файлы реализации и служебные файлы для управления проектом, например каркас для make. + На первом этапе вы можете использовать один из предлагаемых шаблонов проектов. + Там же необходимо указать некоторую общую информацию по проекту: названия приложения, его размещения и так далее. + На следующем шаге решите, будете ли вы использовать систему контроля версий, такую, как например, CVS, и, если будете, укажите необходимые данные. + Выберите шаблоны для заголовочных файлов и файлов реализации (если есть). + Теперь осталось сгенерировать начальные файлы, структуру папок, начальные заголовочные файлы, файлы реализации и служебные файлы для управления проектом, например каркас для make. -И это всё! Теперь у вас есть база для начала продуктивной работы. -А теперь рассмотрим это более подробно... +И это всё! Теперь у вас есть база для начала продуктивной работы. +А теперь рассмотрим это более подробно... -Начальные шаги +Начальные шаги - диалог - Новый проект + диалог + Новый проект - проект - Новый проект - диалог + проект + Новый проект + диалог - проект - шаблоны + проект + шаблоны - шаблоны - проект - -Чтобы создать новый проект, выберите пункт Создать проект из меню Проект: + шаблоны + проект + +Чтобы создать новый проект, выберите пункт Создать проект из меню Проект: - Начало создания проекта + Начало создания проекта -Диалог разделён на две части. В верхней вы можете выбрать язык программирования, который будет использоваться для написания программы, нижняя служит для ввода некоторой общей информации. +Диалог разделён на две части. В верхней вы можете выбрать язык программирования, который будет использоваться для написания программы, нижняя служит для ввода некоторой общей информации. -Выбор языка программирования и типа приложения +Выбор языка программирования и типа приложения - проект - тип приложения + проект + тип приложения - проект - язык программирования + проект + язык программирования - проект - язык + проект + язык - язык + язык - язык программирования + язык программирования - приложение - тип + приложение + тип -Слева вверху находится список доступных языков программирования, например: +Слева вверху находится список доступных языков программирования, например: - C++ - C++ - новый проект - - C - C - новый проект - - C++ - C++ - новый проект - - База данных (проекты на SQL) - SQL - новый проект + C++ + C++ + новый проект + + C + C + новый проект + + C++ + C++ + новый проект + + База данных (проекты на SQL) + SQL + новый проект - База данных - новый проект - - Fortran - Fortran - новый проект - - Haskell - Haskell - новый проект - - Java - Java - новый проект - - PHP - PHP - новый проект - - Pascal - Pascal - новый проект - - Perl - Perl - новый проект - - Python - Python - новый проект - - Ruby - Ruby - новый проект - - Оболочка (скрипты на Bash) - Bash - новый проект + База данных + новый проект + + Fortran + Fortran + новый проект + + Haskell + Haskell + новый проект + + Java + Java + новый проект + + PHP + PHP + новый проект + + Pascal + Pascal + новый проект + + Perl + Perl + новый проект + + Python + Python + новый проект + + Ruby + Ruby + новый проект + + Оболочка (скрипты на Bash) + Bash + новый проект - оболочка - новый проект - + оболочка + новый проект + -Эти папки не содержат собственно средств языка, в них располагаются только шаблоны новых проектов, то есть отправная точка для начала разработки на том или другом языке. Если вы раскроете все папки, то увидите множество отдельных шаблонов в зависимости от типа поставленной задачи и сферы применения. -При выборе шаблона в правой части окна показывается его краткое описание и снимок экрана главного окна приложения, основанного на выбранном шаблоне. -Выберите шаблон, наиболее точно отвечающий вашим целям. Затем введите общую информацию, как описано ниже. +Эти папки не содержат собственно средств языка, в них располагаются только шаблоны новых проектов, то есть отправная точка для начала разработки на том или другом языке. Если вы раскроете все папки, то увидите множество отдельных шаблонов в зависимости от типа поставленной задачи и сферы применения. +При выборе шаблона в правой части окна показывается его краткое описание и снимок экрана главного окна приложения, основанного на выбранном шаблоне. +Выберите шаблон, наиболее точно отвечающий вашим целям. Затем введите общую информацию, как описано ниже. -Выбор системы управления проектом -Каждый шаблон привязан к определённой системе управления проектом. +Выбор системы управления проектом +Каждый шаблон привязан к определённой системе управления проектом. - + -Указание общей информации +Указание общей информации - проект - свойства + проект + свойства - свойства + свойства - приложение - имя + приложение + имя - имя - приложение + имя + приложение - проект - папка + проект + папка - папка - проект + папка + проект - Расположение - новый проект + Расположение + новый проект - проект - автор + проект + автор - проект - электронная почта + проект + электронная почта - автор + автор - электронная почта + электронная почта - проект - main.cpp + проект + main.cpp - main.cpp + main.cpp - проект - лицензия + проект + лицензия - лицензия - -В нижнем разделе Свойства диалога Новый проект можно указать его свойства — данные для построения структуры проекта. + лицензия + +В нижнем разделе Свойства диалога Новый проект можно указать его свойства — данные для построения структуры проекта. -Имя приложения -Введите его в верхнее поле свойств с соответствующим названием. В нашем примере это MyApp. +Имя приложения +Введите его в верхнее поле свойств с соответствующим названием. В нашем примере это MyApp. -Обратите внимание, что в имени разрешается использовать только такие символы: - английские буквы в нижнем и верхнем регистрах - цифры - символ подчёркивания +Обратите внимание, что в имени разрешается использовать только такие символы: + английские буквы в нижнем и верхнем регистрах + цифры + символ подчёркивания -Эти ограничения установлены в связи с тем, что указанное имя будет использовано для именования некоторых классов в создаваемом проекте. Поэтому ограничения на имя приложения отражают ограничения на именование переменных в языках программирования. +Эти ограничения установлены в связи с тем, что указанное имя будет использовано для именования некоторых классов в создаваемом проекте. Поэтому ограничения на имя приложения отражают ограничения на именование переменных в языках программирования. -Конечное расположение -Также имя приложения будет использовано при формировании конечного расположения создаваемого проекта. +Конечное расположение +Также имя приложения будет использовано при формировании конечного расположения создаваемого проекта. -Имя приложения переводится в нижний регистр и добавляется к указанному расположению. -Если сформированный по имени приложения путь уже существует, кнопка Далее > будет неактивна (серого цвета) и мастер известит вас об этом ещё и сообщением. +Имя приложения переводится в нижний регистр и добавляется к указанному расположению. +Если сформированный по имени приложения путь уже существует, кнопка Далее > будет неактивна (серого цвета) и мастер известит вас об этом ещё и сообщением. -Конечное расположение -Есть два способа выбрать другой каталог для вашего приложения — указать другое имя или изменить расположение проектов. +Конечное расположение +Есть два способа выбрать другой каталог для вашего приложения — указать другое имя или изменить расположение проектов. -Второй вариант можно осуществить во втором поле свойств с названием Расположение. Здесь вы должны ввести путь к каталогу, в котором будет создан подкаталог с именем проекта (в котором, в свою очередь, будут созданы другие подкаталоги разработки). Полный путь к проекту будет показан в поле Конечное расположение. -При открытии диалога поле Расположение заполняется автоматически. Значение для него берётся из поля Каталог проектов по умолчанию: в главном разделе диалога настройки KDevelop. В нашем случае в качестве основного пути для новых проектов используется каталог /home/devel/projects/. -Убедитесь что каталог проекта, указанный в поле Конечное расположение не существует в вашей файловой системе. +Второй вариант можно осуществить во втором поле свойств с названием Расположение. Здесь вы должны ввести путь к каталогу, в котором будет создан подкаталог с именем проекта (в котором, в свою очередь, будут созданы другие подкаталоги разработки). Полный путь к проекту будет показан в поле Конечное расположение. +При открытии диалога поле Расположение заполняется автоматически. Значение для него берётся из поля Каталог проектов по умолчанию: в главном разделе диалога настройки KDevelop. В нашем случае в качестве основного пути для новых проектов используется каталог /home/devel/projects/. +Убедитесь что каталог проекта, указанный в поле Конечное расположение не существует в вашей файловой системе. -Однако путь, указанный в поле Расположение должен существовать. Если это не так, мастер создания проекта сообщит об этом добавлением (неверно) в строку Конечное расположение. +Однако путь, указанный в поле Расположение должен существовать. Если это не так, мастер создания проекта сообщит об этом добавлением (неверно) в строку Конечное расположение. - Настройка CVS для создаваемого проекта + Настройка CVS для создаваемого проекта -Параметры проекта -Данные, которые показываются на втором шаге, не являются критичными для проекта. Просто укажите ваше имя (то есть имя автора программы, к которому можно будет обращаться по поводу её работы и развития) в поле Автор и правильный адрес электронной почты в поле Электронная почта чтобы пользователи программы могли поддерживать с вами связь. +Параметры проекта +Данные, которые показываются на втором шаге, не являются критичными для проекта. Просто укажите ваше имя (то есть имя автора программы, к которому можно будет обращаться по поводу её работы и развития) в поле Автор и правильный адрес электронной почты в поле Электронная почта чтобы пользователи программы могли поддерживать с вами связь. - Мастер постарается заполнить их значениями, взятыми из соответствующих разделов Центра управления KDE. - Эта информация будет встроена в шаблоны программных файлов. Например, для программ &kde; C++ вы сможете найти её в начале файла main.cpp. - Из всех полей, необязательным является Электронная почта, так как не все разработчики могут иметь доступ в Интернет. + Мастер постарается заполнить их значениями, взятыми из соответствующих разделов Центра управления KDE. + Эта информация будет встроена в шаблоны программных файлов. Например, для программ &kde; C++ вы сможете найти её в начале файла main.cpp. + Из всех полей, необязательным является Электронная почта, так как не все разработчики могут иметь доступ в Интернет. -Версия и лицензия -Введите номер версии, с которого нужно начать, и лицензию, в соответствии с которой вы хотите распространять ваше приложение. +Версия и лицензия +Введите номер версии, с которого нужно начать, и лицензию, в соответствии с которой вы хотите распространять ваше приложение. -Если вы выбрали тип приложения (например, C или C++), к которому существуют шаблоны программных файлов, на следующих этапах вы можете увидеть уведомление о лицензии в (см. раздел «Шаблоны программных файлов»). -Если вы выбрали другую лицензию, вам нужно будет ввести её текст самостоятельно. - -Информация о версии и используемой лицензии также будет встроена в шаблоны программных файлов, в форме, удобной для изменения. - -Нажмите кнопку Далее >. - - - +Если вы выбрали тип приложения (например, C или C++), к которому существуют шаблоны программных файлов, на следующих этапах вы можете увидеть уведомление о лицензии в (см. раздел «Шаблоны программных файлов»). +Если вы выбрали другую лицензию, вам нужно будет ввести её текст самостоятельно. + +Информация о версии и используемой лицензии также будет встроена в шаблоны программных файлов, в форме, удобной для изменения. + +Нажмите кнопку Далее >. + + + -Система управления версиями +Система управления версиями - CVS - новый проект + CVS + новый проект - проект - CVS + проект + CVS - база данных - CVS + база данных + CVS - версия - база данных + версия + база данных - версия - CVS - -Здесь вы можете выбрать систему контроля версий. - -Здесь всё зависит от проекта, подробности о &CVS; вы можете найти в главе Использование &CVS;. + версия + CVS + +Здесь вы можете выбрать систему контроля версий. + +Здесь всё зависит от проекта, подробности о &CVS; вы можете найти в главе Использование &CVS;. -Система контроля версий не нужна -По умолчанию Система контроля версий для проекта Не используется. Если вы не хотите использовать эту функцию, просто нажмите Далее >. +Система контроля версий не нужна +По умолчанию Система контроля версий для проекта Не используется. Если вы не хотите использовать эту функцию, просто нажмите Далее >. -Использование &CVS; -В нашем примере мы используем &CVS;. Если вы выберете эту систему контроля версий, будут показаны поля, которые нужно заполнить. +Использование &CVS; +В нашем примере мы используем &CVS;. Если вы выберете эту систему контроля версий, будут показаны поля, которые нужно заполнить. @@ -689,303 +313,114 @@ - Настройка CVS для создаваемого проекта + Настройка CVS для создаваемого проекта -Система контроля версий, такая как &CVS; (Concurrent Versions System, система конкурирующих версий) записывает копии файлов проекта в некоторое подобие базы данных. В &CVS; вы можете передать файлы (commit) в репозиторий или загрузить их обратно (checkoutили update). Особенностью системы контроля версий является структурный метод хранения файлов, который всегда позволяет вернуться к более раннему состоянию разработки, если вы допустили неисправимые ошибки. &CVS; также позволяет сотрудничать нескольким разработчикам в большом проекте (как &tdevelop;), не вмешиваясь в работу друг друга. +Система контроля версий, такая как &CVS; (Concurrent Versions System, система конкурирующих версий) записывает копии файлов проекта в некоторое подобие базы данных. В &CVS; вы можете передать файлы (commit) в репозиторий или загрузить их обратно (checkoutили update). Особенностью системы контроля версий является структурный метод хранения файлов, который всегда позволяет вернуться к более раннему состоянию разработки, если вы допустили неисправимые ошибки. &CVS; также позволяет сотрудничать нескольким разработчикам в большом проекте (как &tdevelop;), не вмешиваясь в работу друг друга. - CVS - репозиторий + CVS + репозиторий - репозиторий - CVS + репозиторий + CVS - CVS - локальный + CVS + локальный - CVS - удалённый + CVS + удалённый - локальный репозиторий CVS + локальный репозиторий CVS - :local: + :local: - CVS - :local: + CVS + :local: -Локальный репозиторий &CVS; -&CVS; ведёт собственную базу данных версий файлов, которая хранится в так называемом корне &CVS;. Вам нужно будет указать путь к корню &CVS;, если вы хотите использовать эту систему управления версиями. +Локальный репозиторий &CVS; +&CVS; ведёт собственную базу данных версий файлов, которая хранится в так называемом корне &CVS;. Вам нужно будет указать путь к корню &CVS;, если вы хотите использовать эту систему управления версиями. -Расположение локального &CVS;. Если вы разрабатываете программу самостоятельно, использование &CVS; локально пригодится как удобная система резервного копирования. Обычно она располагается в вашем домашнем каталоге под именем cvsroot: -/home/devel/cvsroot (где devel — имя пользователя в системе) - -Это краткая форма — на самом деле, перед ней должна быть приставка :local:. Использование краткой формы разрешено только если она начинается со слэша (/). То есть полный адрес корня локального &CVS; будет выглядеть так: :local:/home/devel/cvsroot. - -Введите путь к корню &CVS;. -Создание локального корня &CVS;. Если локальный корень &CVS; не существует, &tdevelop; может изменить это с помощью команды &CVS;. Для этого нажмите кнопку Создать локальный репозиторий. -&tdevelop; только передаёт команды системе &CVS; на создание репозитория, не делая ничего самостоятельно. К счастью, &CVS; продуман достаточно хорошо, и, перед созданием нового репозитория &CVS; в указанном вами каталоге, проверяет наличие в нём уже существующего корня &CVS; в нём. - -Удалённый &CVS;.Возможно вы захотите расположить репозиторий на удалённом сервере, особенно если над проектом работает несколько разработчиков. Тогда введите URL репозитория &CVS; в поле Репозиторий. Например, чтобы подключиться к серверу &CVS; &kde;: -:pserver:mylogin@cvs.kde.org:/home/kde, где mylogin соответствует имени регистрации вашей учётной записи &CVS; в репозитории &kde;. +Расположение локального &CVS;. Если вы разрабатываете программу самостоятельно, использование &CVS; локально пригодится как удобная система резервного копирования. Обычно она располагается в вашем домашнем каталоге под именем cvsroot: +/home/devel/cvsroot (где devel — имя пользователя в системе) + +Это краткая форма — на самом деле, перед ней должна быть приставка :local:. Использование краткой формы разрешено только если она начинается со слэша (/). То есть полный адрес корня локального &CVS; будет выглядеть так: :local:/home/devel/cvsroot. + +Введите путь к корню &CVS;. +Создание локального корня &CVS;. Если локальный корень &CVS; не существует, &tdevelop; может изменить это с помощью команды &CVS;. Для этого нажмите кнопку Создать локальный репозиторий. +&tdevelop; только передаёт команды системе &CVS; на создание репозитория, не делая ничего самостоятельно. К счастью, &CVS; продуман достаточно хорошо, и, перед созданием нового репозитория &CVS; в указанном вами каталоге, проверяет наличие в нём уже существующего корня &CVS; в нём. + +Удалённый &CVS;.Возможно вы захотите расположить репозиторий на удалённом сервере, особенно если над проектом работает несколько разработчиков. Тогда введите URL репозитория &CVS; в поле Репозиторий. Например, чтобы подключиться к серверу &CVS; &kde;: +:pserver:mylogin@cvs.kde.org:/home/kde, где mylogin соответствует имени регистрации вашей учётной записи &CVS; в репозитории &kde;. - удалённый репозиторий + удалённый репозиторий - :pserver: + :pserver: - :ext: + :ext: - CVS - :local: + CVS + :local: - CVS - :pserver: + CVS + :pserver: - CVS - :ext: + CVS + :ext: -Виды удалённых серверов &CVS; -Есть два типа удалённых серверов &CVS;: это pserver, использующий авторизацию без шифрования, и ext, в котором доступно шифрование rsh или ssh. Они различаются по приставке в URL: +Виды удалённых серверов &CVS; +Есть два типа удалённых серверов &CVS;: это pserver, использующий авторизацию без шифрования, и ext, в котором доступно шифрование rsh или ssh. Они различаются по приставке в URL: -:pserver: +:pserver: -для password protected server (сервера, защищённого паролем) без шифрования и +для password protected server (сервера, защищённого паролем) без шифрования и -:ext: +:ext: -для сервера, поддерживающего шифрование rsh или ssh. Например: +для сервера, поддерживающего шифрование rsh или ssh. Например: -:ext:mylogin@cvs.cervisia.sourceforge.net:/cvsroot/cervisia +:ext:mylogin@cvs.cervisia.sourceforge.net:/cvsroot/cervisia -позволит получить доступ к исходному коду Cervisia, программы работы с &CVS;, на сервере SourceForge. -Если вы хотите получить доступ к серверу &CVS; с шифрованием rsh или ssh, укажите протокол шифрования. Для этого необходимо установить значение переменной среды окружения CVS_RSH как rsh или ssh. - -Если вы собираетесь использовать шифрование для &CVS;, прочитайте главу Использование &CVS;. +позволит получить доступ к исходному коду Cervisia, программы работы с &CVS;, на сервере SourceForge. +Если вы хотите получить доступ к серверу &CVS; с шифрованием rsh или ssh, укажите протокол шифрования. Для этого необходимо установить значение переменной среды окружения CVS_RSH как rsh или ssh. + +Если вы собираетесь использовать шифрование для &CVS;, прочитайте главу Использование &CVS;. - CVS - репозиторий + CVS + репозиторий - репозиторий - CVS + репозиторий + CVS -Репозиторий &CVS; -Теперь нужно указать где следует сохранять файлы проекта в &CVS;. Это место называется репозиторием. +Репозиторий &CVS; +Теперь нужно указать где следует сохранять файлы проекта в &CVS;. Это место называется репозиторием. -В принципе, вы можете выбрать любое имя для репозитория &CVS;, учитывая лишь ограничения на имена файлов, но большинство разработчиков просто указывают название программы. Репозиторий с указанным вами именем будет создан в корне &CVS;. -Укажите имя репозитория, которое вы хотите использовать, вместе с корнем CVS в поле Репозиторий диалога Новый проект в разделе Система управления версиями. - -Обратите внимание, на то, что нельзя использовать уже существующий репозиторий! Система &CVS; не предупреждает о дублирующихся файлах, поэтому вы можете их потерять. +В принципе, вы можете выбрать любое имя для репозитория &CVS;, учитывая лишь ограничения на имена файлов, но большинство разработчиков просто указывают название программы. Репозиторий с указанным вами именем будет создан в корне &CVS;. +Укажите имя репозитория, которое вы хотите использовать, вместе с корнем CVS в поле Репозиторий диалога Новый проект в разделе Система управления версиями. + +Обратите внимание, на то, что нельзя использовать уже существующий репозиторий! Система &CVS; не предупреждает о дублирующихся файлах, поэтому вы можете их потерять. -Оставшиеся поля -Осталось совсем немного. Остальные поля заполнены за вас автоматически: +Оставшиеся поля +Осталось совсем немного. Остальные поля заполнены за вас автоматически: -Поле Метка производителя используется только для совместимости. Вы можете оставить значение по умолчанию. -Поле Комментарий содержит комментарий, который будет добавлен к первой версии файлов в хранилище &CVS;. -Поле Метка выпуска содержит метку &CVS; первоначального состояния проекта. С помощью метки вы всегда сможете вернуться к состоянию разработки на данный момент. Подробная информация находится в главе Использование &CVS;. -По умолчанию предлагается метка start. +Поле Метка производителя используется только для совместимости. Вы можете оставить значение по умолчанию. +Поле Комментарий содержит комментарий, который будет добавлен к первой версии файлов в хранилище &CVS;. +Поле Метка выпуска содержит метку &CVS; первоначального состояния проекта. С помощью метки вы всегда сможете вернуться к состоянию разработки на данный момент. Подробная информация находится в главе Использование &CVS;. +По умолчанию предлагается метка start. -Если какая-либо информация введена неправильно, это не выяснится на этапе создания проекта. Поэтому следите за сообщениямиво время работы с репозиторием из основного окна программы. Если произошли ошибки &CVS;, вы увидите что-то на подобие этого: +Если какая-либо информация введена неправильно, это не выяснится на этапе создания проекта. Поэтому следите за сообщениямиво время работы с репозиторием из основного окна программы. Если произошли ошибки &CVS;, вы увидите что-то на подобие этого: - + * cd '/home/devel/test' && cvs -d '/home/devel/mycvsroot' \ import -m 'new project' '' 'vendor' 'start' &&\ sh /opt/kde3/share/apps/kdevcvs/buildcvs.sh . '' \ @@ -993,42 +428,25 @@ * cvs [import aborted]: /home/devel/mycvsroot/CVSROOT: No such file or directory * *** Exited with status: 1 *** - + -Если это произошло, инициализируйте &CVS; самостоятельно или удалите каталог проекта и начните процесс создания проекта сначала. +Если это произошло, инициализируйте &CVS; самостоятельно или удалите каталог проекта и начните процесс создания проекта сначала. -После ввода всех данных &CVS; нажмите Далее >. +После ввода всех данных &CVS; нажмите Далее >. -Чтобы исправить ошибку на предыдущем шаге, нажмите кнопку < Назад. +Чтобы исправить ошибку на предыдущем шаге, нажмите кнопку < Назад. - + -Шаблоны программных файлов - -На следующих шагах мастера вы сможете установить общую информацию о вашем проекте, которая будет включаться во все его файлы. -Вам будут предложены отдельные шаблоны заголовочных файлов и файлов реализации для проектов на C и C++. Для некоторых других языков есть только шаблоны файлов исходного кода. Для остальных языков программирования всё ещё нет готовых шаблонов. -Если для проекта есть возможность использования шаблонов, в начале файлов проекта с исходным кодом будет добавлен комментарий о лицензии, например для программ на C++ он будет выглядеть так: - - +Шаблоны программных файлов + +На следующих шагах мастера вы сможете установить общую информацию о вашем проекте, которая будет включаться во все его файлы. +Вам будут предложены отдельные шаблоны заголовочных файлов и файлов реализации для проектов на C и C++. Для некоторых других языков есть только шаблоны файлов исходного кода. Для остальных языков программирования всё ещё нет готовых шаблонов. +Если для проекта есть возможность использования шаблонов, в начале файлов проекта с исходным кодом будет добавлен комментарий о лицензии, например для программ на C++ он будет выглядеть так: + + /*************************************************************************** * Copyright (C) 2003 by Your Name * * you@you.com * @@ -1048,273 +466,122 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ - - -Другие шаблоны будут иметь подобную информацию в соответствующим языку формате. -Шаблоны файлов исходного кода будут также содержать информацию на основе данных, указанных ранее в мастере создания проектов, а именно содержимом полей Автор, Электронная почта и Лицензия. + + +Другие шаблоны будут иметь подобную информацию в соответствующим языку формате. +Шаблоны файлов исходного кода будут также содержать информацию на основе данных, указанных ранее в мастере создания проектов, а именно содержимом полей Автор, Электронная почта и Лицензия. -Изменение шаблонов +Изменение шаблонов - шаблоны - проект - изменение + шаблоны + проект + изменение - проект - шаблоны - изменение - -Шаблоны, которые вы редактируете в диалоге Новый проект будут использованы при создании нового заголовочного файла или файла реализации в проекте. В начале каждого файла будет расположена некоторая информация, зависящая от шаблона. -Вы не ограничены вставкой обычного текста, &tdevelop; распознаёт несколько переменных, которые будут заменены на содержимое заданных полей. Это может быть информация об авторе, электронной почте или лицензии. + проект + шаблоны + изменение + +Шаблоны, которые вы редактируете в диалоге Новый проект будут использованы при создании нового заголовочного файла или файла реализации в проекте. В начале каждого файла будет расположена некоторая информация, зависящая от шаблона. +Вы не ограничены вставкой обычного текста, &tdevelop; распознаёт несколько переменных, которые будут заменены на содержимое заданных полей. Это может быть информация об авторе, электронной почте или лицензии. -Включение информации для &doxygen; +Включение информации для &doxygen; -Если, к примеру, вы хотите чтобы документация по &API;, генерируемая программой &doxygen;, содержала также дополнительное краткое описание файла, включите в шаблон такой код: - +Если, к примеру, вы хотите чтобы документация по &API;, генерируемая программой &doxygen;, содержала также дополнительное краткое описание файла, включите в шаблон такой код: + /** * \file $MODULE$.cpp * \brief (здесь нужно поставить краткое описание файла). **/ - -Каждый раз, когда вы будете создавать новый файл исходного кода, &tdevelop; заменит $MODULE$ именем создаваемого файла. Например, если вы создали новый класс C++ с именем ASimpleTest, в начале файла asimpletest.cpp будет такой текст: - + +Каждый раз, когда вы будете создавать новый файл исходного кода, &tdevelop; заменит $MODULE$ именем создаваемого файла. Например, если вы создали новый класс C++ с именем ASimpleTest, в начале файла asimpletest.cpp будет такой текст: + /** * \file asimpletest.cpp * \brief (здесь нужно поставить краткое описание файла). **/ - -И теперь останется ввести краткое описание файла после слова \brief, не оставляя служебного, каждый раз одинакового, кода. + +И теперь останется ввести краткое описание файла после слова \brief, не оставляя служебного, каждый раз одинакового, кода. -Файл с лицензией +Файл с лицензией -Также вы можете включить информацию о лицензии. Для этого используется переменная $LICENSEFILE$: +Также вы можете включить информацию о лицензии. Для этого используется переменная $LICENSEFILE$: - + // Файл $LICENSEFILE$ содержит полный текст лицензии. - -Мастер приложений заменит $LICENSEFILE$ на имя файла, содержащего лицензию, например: - + +Мастер приложений заменит $LICENSEFILE$ на имя файла, содержащего лицензию, например: + // Файл COPYING содержит полный текст лицензии. - -для лицензии GPL, или - + +для лицензии GPL, или + // Файл LICENSE.BSD содержит полный текст лицензии. - -если вы решили распространять свою программу под лицензией BSD. -&tdevelop; поддерживает большое количество переменных. Подробно это изложено в разделе Изменение шаблонов главы Средства редактирования. + +если вы решили распространять свою программу под лицензией BSD. +&tdevelop; поддерживает большое количество переменных. Подробно это изложено в разделе Изменение шаблонов главы Средства редактирования. -Шаблоны, которые вы установили здесь, будут задействованы после создания проекта. Информация, выбранная вами, будет находится в начале каждого созданного в рамках проекта файла исходного кода. Вы можете изменить текст шаблонов вручную после создания проекта. +Шаблоны, которые вы установили здесь, будут задействованы после создания проекта. Информация, выбранная вами, будет находится в начале каждого созданного в рамках проекта файла исходного кода. Вы можете изменить текст шаблонов вручную после создания проекта. - - + + -Построение начальных файлов проекта +Построение начальных файлов проекта - проект - новый - построение + проект + новый + построение - проект - начальное построение - -Теперь почти всё сделано. На последнем шаге кнопка Далее > сменяется на Готово. -Подумайте дважды перед её нажатием! Вы пока ещё имеете возможность вернуться < Назад и изменить введённые данные. Если вы используете &CVS; локально, проверьте ещё раз имя репозитория (указанного подкаталога не должно существовать). -Чтобы отменить создание проекта, нажмите соответствующую кнопку, иначе нажмите Готово, при этом в окне Сообщения будут выводится подробные действия, выполняемые мастером создания проекта. -Если вы выбрали использование &CVS;, после создания дерева каталогов проекта, будет запущена программа &CVS;, очищающая предыдущее содержимое окна сообщений и выводящая собственные сообщения. - -В большинстве случаев после завершения создания &tdevelop; автоматически откроет важные файлы проекта (это зависит от выбранного шаблона проекта). - -Не забудьте проверить предлагаемые по умолчанию значения. Например, вы можете изменить комментарии, добавляемые в начало файлов исходного кода. Шаблоны файлов находятся в подкаталоге templates базового каталога вашего проекта. -Мы рекомендуем вас перед тем, как набивать собственный код, собрать новый проект. В большинстве случаев при этом не должно возникнуть никаких проблем. Чтобы начать всё сначала, удалите каталог проекта и его хранилище в корне &CVS; (если таковой имеется) и начните создание нового проекта заново. - - + проект + начальное построение + +Теперь почти всё сделано. На последнем шаге кнопка Далее > сменяется на Готово. +Подумайте дважды перед её нажатием! Вы пока ещё имеете возможность вернуться < Назад и изменить введённые данные. Если вы используете &CVS; локально, проверьте ещё раз имя репозитория (указанного подкаталога не должно существовать). +Чтобы отменить создание проекта, нажмите соответствующую кнопку, иначе нажмите Готово, при этом в окне Сообщения будут выводится подробные действия, выполняемые мастером создания проекта. +Если вы выбрали использование &CVS;, после создания дерева каталогов проекта, будет запущена программа &CVS;, очищающая предыдущее содержимое окна сообщений и выводящая собственные сообщения. + +В большинстве случаев после завершения создания &tdevelop; автоматически откроет важные файлы проекта (это зависит от выбранного шаблона проекта). + +Не забудьте проверить предлагаемые по умолчанию значения. Например, вы можете изменить комментарии, добавляемые в начало файлов исходного кода. Шаблоны файлов находятся в подкаталоге templates базового каталога вашего проекта. +Мы рекомендуем вас перед тем, как набивать собственный код, собрать новый проект. В большинстве случаев при этом не должно возникнуть никаких проблем. Чтобы начать всё сначала, удалите каталог проекта и его хранилище в корне &CVS; (если таковой имеется) и начните создание нового проекта заново. + + - сборочная конфигурация по умолчанию - предупреждение + сборочная конфигурация по умолчанию + предупреждение - конфигурации сборки - предупреждение сборки по умолчанию + конфигурации сборки + предупреждение сборки по умолчанию - предупреждение - конфигурация сборки по умолчанию - - Перед сборкой вашего проекта в первый раз, откройте Проект Конфигурация сборки. Там будет три профиля сборки: default, optimized и debug. - Из-за некоторых ограничений в autoconf/automake, не используйте конфигурацию default. это приведёт к повреждению внутренней структуры каталогов, и вы не сможете использовать конфигурации optimized и debug. - Если тип приложения, которое вы выбрали, предлагает только default, естественно, используйте его. + предупреждение + конфигурация сборки по умолчанию + + Перед сборкой вашего проекта в первый раз, откройте Проект Конфигурация сборки. Там будет три профиля сборки: default, optimized и debug. + Из-за некоторых ограничений в autoconf/automake, не используйте конфигурацию default. это приведёт к повреждению внутренней структуры каталогов, и вы не сможете использовать конфигурации optimized и debug. + Если тип приложения, которое вы выбрали, предлагает только default, естественно, используйте его. - + - + -Настройка проектов +Настройка проектов -(.. в процессе написания ..) +(.. в процессе написания ..) - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/class-browsers.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/class-browsers.docbook index b55f82ffadc..db98f8c814c 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/class-browsers.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/class-browsers.docbook @@ -1,85 +1,47 @@ -Обзор классов -обзор классов +Обзор классов +обзор классов -При разработке объектно-ориентированного приложения ваше внимание концентрируется не на исходных файлах, а на классах и их отношениях. Чтобы помочь вам перемещаться по определённым классам и идентификаторам, &tdevelop; предоставляет различные представления классов, наглядно представляющие структуру классов разными способами. +При разработке объектно-ориентированного приложения ваше внимание концентрируется не на исходных файлах, а на классах и их отношениях. Чтобы помочь вам перемещаться по определённым классам и идентификаторам, &tdevelop; предоставляет различные представления классов, наглядно представляющие структуру классов разными способами. -Обзор классов +Обзор классов -В левой части рабочей области расположен список классов, переменных и функций вашего проекта. Они представляются в виде дерева. При щелчке на классе, отдельной его веткой отобразится список всех его методов и атрибутов. +В левой части рабочей области расположен список классов, переменных и функций вашего проекта. Они представляются в виде дерева. При щелчке на классе, отдельной его веткой отобразится список всех его методов и атрибутов.
-Снимок экрана с обзором классов +Снимок экрана с обзором классов - +
-Обзор классов может работать в двух режимах. По умолчанию, все идентификаторы сгруппированы по классам, структурам, функциям, переменным и пространствам имён. В контекстном меню вы можете выбрать сортировку по пространствам имён. В этом режиме отображается иерархия пространств имён и идентификаторы сгруппированы в соответствии пространству имён, в котором они определены. Это может быть более полезным в проектах, широко использующих пространства имён. - -Через контекстное меню вы также можете изменить метод отображения имён классов, чтобы они отображались с пространством имён, в котором они определены. Это поможет различить вам одноимённые классы из разных пространств. Если вы в обычном режиме задержите мышь на имени класса, в подсказке будет отображено полное имя класса. - -Щелчок на классе или методе приведёт к переходу к его определению. Вы также можете перейти к декларации метода через контекстное меню. В том же меню пункты Добавить метод... и Добавить атрибут... приводят к открытию диалогов, где вы сможете создать новые методы и переменные (с пустой реализацией), в соответствующем классе. - -
+Обзор классов может работать в двух режимах. По умолчанию, все идентификаторы сгруппированы по классам, структурам, функциям, переменным и пространствам имён. В контекстном меню вы можете выбрать сортировку по пространствам имён. В этом режиме отображается иерархия пространств имён и идентификаторы сгруппированы в соответствии пространству имён, в котором они определены. Это может быть более полезным в проектах, широко использующих пространства имён. + +Через контекстное меню вы также можете изменить метод отображения имён классов, чтобы они отображались с пространством имён, в котором они определены. Это поможет различить вам одноимённые классы из разных пространств. Если вы в обычном режиме задержите мышь на имени класса, в подсказке будет отображено полное имя класса. + +Щелчок на классе или методе приведёт к переходу к его определению. Вы также можете перейти к декларации метода через контекстное меню. В том же меню пункты Добавить метод... и Добавить атрибут... приводят к открытию диалогов, где вы сможете создать новые методы и переменные (с пустой реализацией), в соответствующем классе. + + -Инструментарий классов +Инструментарий классов -Диалог классов открывается по правому щелчку по классу на панели обзора классов и выбору пункта Классовый инструментарий.... +Диалог классов открывается по правому щелчку по классу на панели обзора классов и выбору пункта Классовый инструментарий.... - + -Иерархия классов +Иерархия классов -(... в процессе написания ...) +(... в процессе написания ...) - + -
+ diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/commands.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/commands.docbook index a86e175721d..f0fd59550aa 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/commands.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/commands.docbook @@ -9,50 +9,21 @@ - Volker Paul - СергейБобыкин
_myst@mail.ru
Перевод на русский язык
+ Volker Paul + СергейБобыкин
_myst@mail.ru
Перевод на русский язык
- 03 апреля 2005 + 03 апреля 2005
-Справочник команд +Справочник команд -Комбинации клавиш, показанные в данной главе используются по умолчанию. Их можно изменить. +Комбинации клавиш, показанные в данной главе используются по умолчанию. Их можно изменить. -Меню Некоторые пункты присутствуют в меню только в том случае, если связанные с ними действия имеют смысл. Особенно это относится к пунктам, связанным с функциональностью модулей. Они доступны только тогда, когда модуль включен. +Меню Некоторые пункты присутствуют в меню только в том случае, если связанные с ними действия имеют смысл. Особенно это относится к пунктам, связанным с функциональностью модулей. Они доступны только тогда, когда модуль включен. @@ -62,304 +33,90 @@ -Меню <guimenu ->Файл</guimenu -> +Меню <guimenu>Файл</guimenu> - &Ctrl;N Файл Создать -Создаёт новый файл. Пользователю предлагается выбрать каталог (каталог по умолчанию — текущий каталог исходных текстов проекта) и ввести название файла. Тип файла можно выбрать из списка. Также пользователь может указать включать ли файл в проект. После этого диспетчер Automake спросит, к какой цели сборки добавить файл. - - - -&Ctrl;O ФайлОткрыть... -Открывает существующий файл. - - - - &Ctrl;O Файл Последние файлы -Показывает подменю с последними открытыми файлами. Если выбрать в нём пункт, будет открыт соответствующий файл. - - - - &Alt;&Ctrl;O Файл Быстрое открытие файла -Показывает список файлов в каталоге исходных текстов текущего проекта. Пользователь может открыть любой из них, выбрав в списке или введя название. - - - - - &Ctrl;S Файл Сохранить -Сохраняет текущий файл. - - - - - &Ctrl;S Файл Сохранить как... -Вызывает диалог Сохранить как... для сохранения копии файла под другим именем. - - - -Файл Сохранить все -Сохраняет все открытые файлы. - - - -F5 Файл Обновить -Перезагружает содержимое текущего файла для показа изменений, сделанных другими программами. Обычно такие изменения обнаруживаются автоматически, и пользователю будет предложено решить: обновлять файл или нет. - - - -Файл Вернуть все -Отменяет все изменения в открытых файлах. Предлагает сохранить изменения, чтобы отмена могла быть сделана для каждого изменённого файла. - - - - -&Ctrl;P ФайлПечать... -Распечатывает содержимое файла. - - - -Файл Экспорт в HTML -Экспортирует содержимое файла с подсветкой в виде страницы HTML. - - - - - &Ctrl;F4 Файл Закрыть -Закрывает текущий файл. - - - - -Файл Закрыть все -Закрывает все открытые файлы. - - - - -Файл Закрыть все другие -Закрывает все файлы кроме текущего. Эта команда очень полезна, когда открыто много файлов, а нужно сконцентрироваться на текущем. Без неё пришлось бы закрывать все файлы и открывать текущий заново. -Аналогичная команда есть в меню «Окно». - - - - - &Ctrl;Q Файл Выход -Закрывает KDevelop. + &Ctrl;N Файл Создать +Создаёт новый файл. Пользователю предлагается выбрать каталог (каталог по умолчанию — текущий каталог исходных текстов проекта) и ввести название файла. Тип файла можно выбрать из списка. Также пользователь может указать включать ли файл в проект. После этого диспетчер Automake спросит, к какой цели сборки добавить файл. + + + +&Ctrl;O ФайлОткрыть... +Открывает существующий файл. + + + + &Ctrl;O Файл Последние файлы +Показывает подменю с последними открытыми файлами. Если выбрать в нём пункт, будет открыт соответствующий файл. + + + + &Alt;&Ctrl;O Файл Быстрое открытие файла +Показывает список файлов в каталоге исходных текстов текущего проекта. Пользователь может открыть любой из них, выбрав в списке или введя название. + + + + + &Ctrl;S Файл Сохранить +Сохраняет текущий файл. + + + + + &Ctrl;S Файл Сохранить как... +Вызывает диалог Сохранить как... для сохранения копии файла под другим именем. + + + +Файл Сохранить все +Сохраняет все открытые файлы. + + + +F5 Файл Обновить +Перезагружает содержимое текущего файла для показа изменений, сделанных другими программами. Обычно такие изменения обнаруживаются автоматически, и пользователю будет предложено решить: обновлять файл или нет. + + + +Файл Вернуть все +Отменяет все изменения в открытых файлах. Предлагает сохранить изменения, чтобы отмена могла быть сделана для каждого изменённого файла. + + + + +&Ctrl;P ФайлПечать... +Распечатывает содержимое файла. + + + +Файл Экспорт в HTML +Экспортирует содержимое файла с подсветкой в виде страницы HTML. + + + + + &Ctrl;F4 Файл Закрыть +Закрывает текущий файл. + + + + +Файл Закрыть все +Закрывает все открытые файлы. + + + + +Файл Закрыть все другие +Закрывает все файлы кроме текущего. Эта команда очень полезна, когда открыто много файлов, а нужно сконцентрироваться на текущем. Без неё пришлось бы закрывать все файлы и открывать текущий заново. +Аналогичная команда есть в меню «Окно». + + + + + &Ctrl;Q Файл Выход +Закрывает KDevelop. @@ -372,468 +129,135 @@ -Меню <guimenu ->Правка</guimenu -> +Меню <guimenu>Правка</guimenu> - &Ctrl;Z Правка Отменить действие -Отменяет последнее действие. - - - - -&Ctrl; &Shift;Z Правка Повторить -Повторяет отменённое действие. - - - - - &Ctrl;X Правка Вырезать -Вырезает выделенный текст. - - - - - &Ctrl;C Правка Копировать -Копирует выделенный текст. - - - - - &Ctrl;V Правка Вставить -Вставляет содержимое буфера обмена. - - - - - &Ctrl;A ПравкаВыделить весь текст -Выделяет весь текст. - - - - -&Ctrl; &Shift;A Правка Отменить выделение -Отменить выделение текста. - - - - - &Ctrl;&Shift;B Правка Вертикальное выделение -Включает режим выделения прямоугольного блока. - - - - - Insert Правка Режим замены -Включает режим замены вместо вставки. - - - - -&Ctrl;F Правка Найти... -Выполняет поиск по тексту. - - - - - F3 Правка Продолжить поиск -Продолжить поиск следующего вхождения. - - - - - &Shift;F3 Правка Найти предыдущее -Продолжить поиск предыдущего вхождения. - - - - - &Ctrl;R Правка Заменить... -Выполняет поиск с заменой. - - - - - &Ctrl;G Правка Перейти на строку... -Перемещает курсор на указанную строку. - - - - - &Alt;&Ctrl;F Правка Найти в файлах... -Выполняет поиск по разным файлам. - - - - - &Shift;R Правка Поиск-выбор-замена -Выполняет операцию «поиск-выбор-замена». - - - - -Правка Переформатировать код -Переформатирует исходный текст. - - - - - &Ctrl;J Правка Завершить текст -Завершает текст. - - - - - &Ctrl;L Правка Автозамена -Выполняет замену сокращения на полную версию. - - - - - &Ctrl;Space Правка Дополнить текст -Дополняет введённую строку текста. - - - - - F2 Правка Генерировать член класса -Создаёт новый член класса. + &Ctrl;Z Правка Отменить действие +Отменяет последнее действие. + + + + +&Ctrl; &Shift;Z Правка Повторить +Повторяет отменённое действие. + + + + + &Ctrl;X Правка Вырезать +Вырезает выделенный текст. + + + + + &Ctrl;C Правка Копировать +Копирует выделенный текст. + + + + + &Ctrl;V Правка Вставить +Вставляет содержимое буфера обмена. + + + + + &Ctrl;A ПравкаВыделить весь текст +Выделяет весь текст. + + + + +&Ctrl; &Shift;A Правка Отменить выделение +Отменить выделение текста. + + + + + &Ctrl;&Shift;B Правка Вертикальное выделение +Включает режим выделения прямоугольного блока. + + + + + Insert Правка Режим замены +Включает режим замены вместо вставки. + + + + +&Ctrl;F Правка Найти... +Выполняет поиск по тексту. + + + + + F3 Правка Продолжить поиск +Продолжить поиск следующего вхождения. + + + + + &Shift;F3 Правка Найти предыдущее +Продолжить поиск предыдущего вхождения. + + + + + &Ctrl;R Правка Заменить... +Выполняет поиск с заменой. + + + + + &Ctrl;G Правка Перейти на строку... +Перемещает курсор на указанную строку. + + + + + &Alt;&Ctrl;F Правка Найти в файлах... +Выполняет поиск по разным файлам. + + + + + &Shift;R Правка Поиск-выбор-замена +Выполняет операцию «поиск-выбор-замена». + + + + +Правка Переформатировать код +Переформатирует исходный текст. + + + + + &Ctrl;J Правка Завершить текст +Завершает текст. + + + + + &Ctrl;L Правка Автозамена +Выполняет замену сокращения на полную версию. + + + + + &Ctrl;Space Правка Дополнить текст +Дополняет введённую строку текста. + + + + + F2 Правка Генерировать член класса +Создаёт новый член класса. @@ -848,411 +272,132 @@ -Меню <guimenu ->Вид</guimenu -> +Меню <guimenu>Вид</guimenu> -Вид Назад -Переход назад. - - - - -Вид Вперёд -Переход вперёд. - - - - - &Ctrl;/ Вид Переключиться... -Быстрое переключение на другой файл. - - - - - &Alt;C Вид Показать редактор -Показывает редактор кода и передаёт ему фокус ввода. - - - - - F4 Вид Следующая ошибка -Переход к следующей ошибке. - - - - - &Shift;F4 Вид Предыдущая ошибка -Переход к предыдущей ошибке. - - - - -&Ctrl;F ВидПолноэкранный режим -Включает полноэкранный режим. - - - - - &Ctrl;F12 Вид Переключить заголовочный файл и файл реализации -Выполняет переключение между заголовочным файлом и файлом реализации. - - - - -Вид Боковые панели -Боковые панели. - - - - -Вид Фиксация -Фиксация боковых панелей. - - - - - F7 Вид Переключиться в командную строку -Переключение в строку ввода команд обработки текста. - - - - -Вид Сеанс -Меню работы с сеансами - - - - - F10 Вид Динамический перенос строк -Включение режима динамического переноса строк. - - - - -Вид Маркеры динамического переноса строк -Показ маркеров динамического переноса строк. - - - - -Вид Показать/скрыть маркеры статического переноса строк -Показывает/скрывает маркеры статического переноса строк. - - - - - F6 Вид Показать/скрыть полоcу закладок -Показывает/скрывает полосу закладок. - - - - - F11 Вид Показать/скрыть номера строк -Показывает/скрывает номера строк. - - - - -Вид Показать/скрыть закладки на полосе прокрутки -Показывает/скрывает закладки на полосе прокрутки. - - - - - F9 Вид Показать/скрыть полосу сворачивания блоков -Показывает/скрывает полосу сворачивания блоков кода. - - - - -Вид Сворачивание блоков кода -Меню работы с блоками кода. - - - - -Вид Кодировка... -Устанавливает кодировку текста. +Вид Назад +Переход назад. + + + + +Вид Вперёд +Переход вперёд. + + + + + &Ctrl;/ Вид Переключиться... +Быстрое переключение на другой файл. + + + + + &Alt;C Вид Показать редактор +Показывает редактор кода и передаёт ему фокус ввода. + + + + + F4 Вид Следующая ошибка +Переход к следующей ошибке. + + + + + &Shift;F4 Вид Предыдущая ошибка +Переход к предыдущей ошибке. + + + + +&Ctrl;F ВидПолноэкранный режим +Включает полноэкранный режим. + + + + + &Ctrl;F12 Вид Переключить заголовочный файл и файл реализации +Выполняет переключение между заголовочным файлом и файлом реализации. + + + + +Вид Боковые панели +Боковые панели. + + + + +Вид Фиксация +Фиксация боковых панелей. + + + + + F7 Вид Переключиться в командную строку +Переключение в строку ввода команд обработки текста. + + + + +Вид Сеанс +Меню работы с сеансами + + + + + F10 Вид Динамический перенос строк +Включение режима динамического переноса строк. + + + + +Вид Маркеры динамического переноса строк +Показ маркеров динамического переноса строк. + + + + +Вид Показать/скрыть маркеры статического переноса строк +Показывает/скрывает маркеры статического переноса строк. + + + + + F6 Вид Показать/скрыть полоcу закладок +Показывает/скрывает полосу закладок. + + + + + F11 Вид Показать/скрыть номера строк +Показывает/скрывает номера строк. + + + + +Вид Показать/скрыть закладки на полосе прокрутки +Показывает/скрывает закладки на полосе прокрутки. + + + + + F9 Вид Показать/скрыть полосу сворачивания блоков +Показывает/скрывает полосу сворачивания блоков кода. + + + + +Вид Сворачивание блоков кода +Меню работы с блоками кода. + + + + +Вид Кодировка... +Устанавливает кодировку текста. @@ -1268,202 +413,79 @@ -Меню <guimenu ->Проект</guimenu -> +Меню <guimenu>Проект</guimenu> -Проект Создать проект... -Создаёт новый проект. +Проект Создать проект... +Создаёт новый проект. -Проект Открыть проект... -Открывает существующий проект. +Проект Открыть проект... +Открывает существующий проект. -Проект Последние проекты -Открывает один из последних проектов. +Проект Последние проекты +Открывает один из последних проектов. -Проект Текущий язык -Устанавливает текущий язык проекта. +Проект Текущий язык +Устанавливает текущий язык проекта. -Проект Импортировать существующий проект... -Выполняет импорт существующего проекта. +Проект Импортировать существующий проект... +Выполняет импорт существующего проекта. -Проект Создать класс... -Создаёт новый класс. +Проект Создать класс... +Создаёт новый класс. -Проект Диаграмма наследования -Показывает диаграмму наследования. +Проект Диаграмма наследования +Показывает диаграмму наследования. -Проект Добавить перевод... -Создаёт файл перевода для указанного языка. +Проект Добавить перевод... +Создаёт файл перевода для указанного языка. -Проект Конфигурация сборки -Конфигурация сборки. +Проект Конфигурация сборки +Конфигурация сборки. -Проект Публикация и распространение -Публикация и распространение проекта. +Проект Публикация и распространение +Публикация и распространение проекта. -Проект Параметры проекта... -Параметры проекта. +Проект Параметры проекта... +Параметры проекта. -Проект Закрыть проект -Закрывает проект. +Проект Закрыть проект +Закрывает проект. @@ -1478,258 +500,91 @@ -Меню <guimenu ->Проект</guimenu -> +Меню <guimenu>Проект</guimenu> - F8 Сборка Собрать проект -Выполняет сборку проекта. - - - - - F7 Сборка Собрать активную цель -Собирает активную цель. - - - - -Сборка Скомпилировать файл -Компилирует файл. - - - - -Сборка Запустить configure -Запускает скрипт «configure». - - - - -Сборка Запустить automake и родственные программы -Запускает automake и родственные программы - - - - -Сборка Установить -Устанавливает собранную программу. - - - - -Сборка Установить (с правами root) -Устанавливает собранную программу с правами root. - - - - -Сборка Очистить проект -Очищает проект. - - - - -Сборка Очистить дистрибутив -Очищает дистрибутив. + F8 Сборка Собрать проект +Выполняет сборку проекта. + + + + + F7 Сборка Собрать активную цель +Собирает активную цель. + + + + +Сборка Скомпилировать файл +Компилирует файл. + + + + +Сборка Запустить configure +Запускает скрипт «configure». + + + + +Сборка Запустить automake и родственные программы +Запускает automake и родственные программы + + + + +Сборка Установить +Устанавливает собранную программу. + + + + +Сборка Установить (с правами root) +Устанавливает собранную программу с правами root. + + + + +Сборка Очистить проект +Очищает проект. - &Shift;F9 Сборка Создать и объединить сообщения -Создаёт и объединяет сообщения для перевода. +Сборка Очистить дистрибутив +Очищает дистрибутив. - - - -Сборка Выполнить программу -Запускает программу на выполнение. + + + + &Shift;F9 Сборка Создать и объединить сообщения +Создаёт и объединяет сообщения для перевода. - - - -Сборка Собрать документацию по API -Создаёт документацию по API приложения. + + + +Сборка Выполнить программу +Запускает программу на выполнение. + + + + +Сборка Собрать документацию по API +Создаёт документацию по API приложения. - - - -Сборка Очистить документацию по API -Очищает документацию по API приложения. + + + +Сборка Очистить документацию по API +Очищает документацию по API приложения. - - - - Escape Сборка Остановить -Останавливает сборку или выполнение программы. + + + + Escape Сборка Остановить +Останавливает сборку или выполнение программы. @@ -1745,250 +600,97 @@ -Меню <guimenu ->Проект</guimenu -> +Меню <guimenu>Проект</guimenu> -Отладка Запуск -Запускает программу в отладчике. +Отладка Запуск +Запускает программу в отладчике. -Отладка Остановить -Останавливает сборку или выполнение программы. +Отладка Остановить +Останавливает сборку или выполнение программы. -Отладка Прервать -Прерывает отладку программы. +Отладка Прервать +Прерывает отладку программы. -Отладка Запустить до текущей строки -Выполняет программу до строки, на которой находится курсор. +Отладка Запустить до текущей строки +Выполняет программу до строки, на которой находится курсор. -Отладка Перейти к следующей строке -Выполняет выражение текущей строки без захода в подпрограммы. +Отладка Перейти к следующей строке +Выполняет выражение текущей строки без захода в подпрограммы. -Отладка Перейти к следующей инструкции -Выполняет текущую инструкцию целиком. +Отладка Перейти к следующей инструкции +Выполняет текущую инструкцию целиком. -Отладка Пройти к следующей строке -Выполняет выражение текущей строки с заходом в подпрограммы. +Отладка Пройти к следующей строке +Выполняет выражение текущей строки с заходом в подпрограммы. -Отладка Пройти к следующей инструкции -Выполняет текущую инструкцию пошагово. +Отладка Пройти к следующей инструкции +Выполняет текущую инструкцию пошагово. -Отладка Выйти -Выйти из подпрограммы. +Отладка Выйти +Выйти из подпрограммы. -Отладка Установить/снять точку останова -Устанавливает/снимает точку останова. +Отладка Установить/снять точку останова +Устанавливает/снимает точку останова. -Отладка Представления -Средства просмотра отладочной информации. +Отладка Представления +Средства просмотра отладочной информации. -Отладка Исследовать файл дампа памяти... -Загружает аварийный дамп памяти программы для анализа. +Отладка Исследовать файл дампа памяти... +Загружает аварийный дамп памяти программы для анализа. -Отладка Подключиться к процессу -Подключает отладчик к выполняемому процессу. +Отладка Подключиться к процессу +Подключает отладчик к выполняемому процессу. -Отладка Проверка утечек памяти с помощью Valgrind -Выполнение проверки утечек памяти с помощью Valgrind. +Отладка Проверка утечек памяти с помощью Valgrind +Выполнение проверки утечек памяти с помощью Valgrind. -Отладка Профилировать в KCachegrind -Выполняет профилирование программы с помощью KCachegrind. +Отладка Профилировать в KCachegrind +Выполняет профилирование программы с помощью KCachegrind. @@ -2007,48 +709,19 @@ -Меню <guimenu ->Закладки</guimenu -> +Меню <guimenu>Закладки</guimenu> - &Ctrl;B Закладки Поставить закладку -Добавляет текущую строку в закладки. - - - - -Закладки Удалить все закладки -Удаляет все закладки. + &Ctrl;B Закладки Поставить закладку +Добавляет текущую строку в закладки. + + + + +Закладки Удалить все закладки +Удаляет все закладки. @@ -2061,83 +734,28 @@ -Меню <guimenu ->Окно</guimenu -> +Меню <guimenu>Окно</guimenu> - &Alt;W Окно Закрыть выбранные окна... -Закрывает выбранные окна. - - - - &Ctrl;F4 Окно Закрыть -Закрывает текущее окно. - - - -Окно Закрыть все -Закрывает все окна. - - - -Окно Закрыть все другие -Закрывает все окна кроме текущего. + &Alt;W Окно Закрыть выбранные окна... +Закрывает выбранные окна. + + + + &Ctrl;F4 Окно Закрыть +Закрывает текущее окно. + + + +Окно Закрыть все +Закрывает все окна. + + + +Окно Закрыть все другие +Закрывает все окна кроме текущего. @@ -2154,489 +772,156 @@ -Меню <guimenu ->Сервис</guimenu -> +Меню <guimenu>Сервис</guimenu> -Сервис Режим только для чтения -Включает режим «только для чтения» для текущего файла. - - - - -Сервис Тип файла -Устанавливает тип файла. - - - - -Сервис Подсветка -Устанавливает режим подсветки синтаксиса. - - - - -Сервис Конец строки -Устанавливает тип конца строки. - - - - -Сервис Проверка орфографии... -Проверяет орфографию теста. - - - - - &Ctrl;I Сервис Вставить отступ -Вставляет отступ (сдвигает текст вправо). - - - - - &Ctrl;&Shift;I Сервис Снять отступ -Снимает отступ (сдвигает текст влево). - - - - -Сервис Привести в порядок отступы -Приводит в порядок все отступы в тексте. - - - - - &Ctrl;Tab Сервис Выравнивание -Выполняет выравнивание. - - - - - &Ctrl;D Сервис Закомментировать -Делает текст комментарием - - - - - &Ctrl;&Shift;D Сервис Раскомментировать -Удаляет символы комментария. - - - - - &Ctrl;U Сервис Верхний регистр -Делает все символы выделенного текста прописными. - - - - - &Ctrl;&Shift;U Сервис Нижний регистр -Делает все символы выделенного текста строчными. - - - - - &Alt;&Ctrl;U Сервис Как в предложениях -Делает первый символ выделенного текста прописным, остальные строчными. - - - - - &Ctrl;J Сервис Объединить строки -Объединяет соседние строки в одну. - - - - -Сервис Перенос строк в документе -Включает режим автоматического переноса слов на новую строку, если длина текущей превышает установленную. - - - - -Сервис Окно просмотра различий... -Открывает окно для просмотра результатов сравнения двух текстовых файлов. - - - - -Сервис Выполнить команду... -Выполняет внешнюю программу. - - - - -Сервис Фильтровать выделение через команду... -Фильтрует выделение через внешнюю программу, используя модуль "Фильтр". - - - - -Сервис Проверить регулярное выражение... -Проверяет регулярное выражение. - - - - -Сервис Диспетчер компонентов -Просмотр компонентов KDE. - - - - - &Alt;&Ctrl;C Сервис Быстрое открытие класса... -Обеспечивает быстрый доступ к классу. - - - - - &Alt;&Ctrl;M Сервис Быстрое открытие метода... -Обеспечивает быстрый доступ к методу. - - - - - &Alt;&Ctrl;P Сервис Предпросмотр вывода Doxygen -Показывает результаты выполнения программы Doxygen. - - - - - &Ctrl;&Shift;S Сервис Документировать текущую функцию -Выполняет документирование текущей функции. +Сервис Режим только для чтения +Включает режим «только для чтения» для текущего файла. + + + + +Сервис Тип файла +Устанавливает тип файла. + + + + +Сервис Подсветка +Устанавливает режим подсветки синтаксиса. + + + + +Сервис Конец строки +Устанавливает тип конца строки. + + + + +Сервис Проверка орфографии... +Проверяет орфографию теста. + + + + + &Ctrl;I Сервис Вставить отступ +Вставляет отступ (сдвигает текст вправо). + + + + + &Ctrl;&Shift;I Сервис Снять отступ +Снимает отступ (сдвигает текст влево). + + + + +Сервис Привести в порядок отступы +Приводит в порядок все отступы в тексте. + + + + + &Ctrl;Tab Сервис Выравнивание +Выполняет выравнивание. + + + + + &Ctrl;D Сервис Закомментировать +Делает текст комментарием + + + + + &Ctrl;&Shift;D Сервис Раскомментировать +Удаляет символы комментария. + + + + + &Ctrl;U Сервис Верхний регистр +Делает все символы выделенного текста прописными. + + + + + &Ctrl;&Shift;U Сервис Нижний регистр +Делает все символы выделенного текста строчными. + + + + + &Alt;&Ctrl;U Сервис Как в предложениях +Делает первый символ выделенного текста прописным, остальные строчными. + + + + + &Ctrl;J Сервис Объединить строки +Объединяет соседние строки в одну. + + + + +Сервис Перенос строк в документе +Включает режим автоматического переноса слов на новую строку, если длина текущей превышает установленную. + + + + +Сервис Окно просмотра различий... +Открывает окно для просмотра результатов сравнения двух текстовых файлов. + + + + +Сервис Выполнить команду... +Выполняет внешнюю программу. + + + + +Сервис Фильтровать выделение через команду... +Фильтрует выделение через внешнюю программу, используя модуль "Фильтр". + + + + +Сервис Проверить регулярное выражение... +Проверяет регулярное выражение. + + + + +Сервис Диспетчер компонентов +Просмотр компонентов KDE. + + + + + &Alt;&Ctrl;C Сервис Быстрое открытие класса... +Обеспечивает быстрый доступ к классу. + + + + + &Alt;&Ctrl;M Сервис Быстрое открытие метода... +Обеспечивает быстрый доступ к методу. + + + + + &Alt;&Ctrl;P Сервис Предпросмотр вывода Doxygen +Показывает результаты выполнения программы Doxygen. + + + + + &Ctrl;&Shift;S Сервис Документировать текущую функцию +Выполняет документирование текущей функции. @@ -2652,142 +937,53 @@ -Меню <guimenu ->Настройка</guimenu -> +Меню <guimenu>Настройка</guimenu> - &Ctrl;M Настройка Показать/скрыть меню -Показывает/скрывает меню. - - - -Настройка Панели инструментов -Открывает подменю, где можно выбрать, какие панели инструментов показывать или скрыть. - - - -Настройка Показывать строку состояния -Показывать или скрыть строку состояния. - - - -НастройкаКомбинации клавиш... -Настройка привязок комбинаций клавиш к действиям. - - - - -Настройка Панели инструментов... -Настройка панели инструментов. - - - - -Настройка Уведомления... -Настройка уведомлений программы. - - - - -НастройкаНастроить редактор... -Настройка текстового редактора. + &Ctrl;M Настройка Показать/скрыть меню +Показывает/скрывает меню. + + + +Настройка Панели инструментов +Открывает подменю, где можно выбрать, какие панели инструментов показывать или скрыть. + + + +Настройка Показывать строку состояния +Показывать или скрыть строку состояния. + + + +НастройкаКомбинации клавиш... +Настройка привязок комбинаций клавиш к действиям. + + + + +Настройка Панели инструментов... +Настройка панели инструментов. + + + + +Настройка Уведомления... +Настройка уведомлений программы. -Настройка Настроить KDevelop... -Настройка параметров среды разработки. +НастройкаНастроить редактор... +Настройка текстового редактора. + + + + +Настройка Настроить KDevelop... +Настройка параметров среды разработки. @@ -2802,187 +998,64 @@ -Меню <guimenu ->Справка</guimenu -> +Меню <guimenu>Справка</guimenu> -Справка Руководство пользователя KDevelop -Открывает руководство пользователя KDevelop (этот документ). - - - - &Shift;F1 Справка Что это? -Рисует знак вопроса рядом с указателем мыши, нажатием левой кнопки мыши на элементе окна (например, на кнопке Остановить) показывается краткое объяснение его назначения. - - - - -Справка Подсказка дня -Показывает полезный совет по работе со средой. - - - - - &Alt;&Ctrl;I Справка Искать по индексу документации... -Выполняет поиск по индексу документации. - - - - - &Alt;&Ctrl;S Справка Найти в документации... -Выполняет поиск в документации. - - - - -Справка Руководство Man... -Показывает страницу справочной системы man. - - - - -Справка Руководство Info... -Показывает раздел справочной системы info. - - - - -Справка Сообщить об ошибке... -Позволяет сообщить об ошибках работы среды её разработчикам. - - - -Справка О программе KDevelop... -Показывает краткую информацию о версии KDevelop, её авторах и лицензионном соглашении. - - - -Справка О KDE... -Показывает краткую информацию о версии &kde;. +Справка Руководство пользователя KDevelop +Открывает руководство пользователя KDevelop (этот документ). + + + + &Shift;F1 Справка Что это? +Рисует знак вопроса рядом с указателем мыши, нажатием левой кнопки мыши на элементе окна (например, на кнопке Остановить) показывается краткое объяснение его назначения. + + + + +Справка Подсказка дня +Показывает полезный совет по работе со средой. + + + + + &Alt;&Ctrl;I Справка Искать по индексу документации... +Выполняет поиск по индексу документации. + + + + + &Alt;&Ctrl;S Справка Найти в документации... +Выполняет поиск в документации. + + + + +Справка Руководство Man... +Показывает страницу справочной системы man. + + + + +Справка Руководство Info... +Показывает раздел справочной системы info. + + + + +Справка Сообщить об ошибке... +Позволяет сообщить об ошибках работы среды её разработчикам. + + + +Справка О программе KDevelop... +Показывает краткую информацию о версии KDevelop, её авторах и лицензионном соглашении. + + + +Справка О KDE... +Показывает краткую информацию о версии &kde;. diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/credits.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/credits.docbook index edcdcfacee3..4707c7fc219 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/credits.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/credits.docbook @@ -1,48 +1,20 @@ -Благодарности +Благодарности -Авторы и переводчики +Авторы и переводчики - Первое издание этого руководства подготовлено Берндом Гехрманном (Bernd Gehrmann) bernd@kdevelop.org и Калебом Теннисом (Caleb Tennis) caleb@aei-tech.com. - Главы Краткое описание &automanag; и Использование менеджера Automake написаны Йеном Вадхамом (Ian Wadham), ianw@netspace.net.au. Перевод руководства на русский язык осуществил Николай Шафоростов, shaforostoff@users.sourceforge.net, домашняя страничка — . Замечания и дополнения приветствуются. + Первое издание этого руководства подготовлено Берндом Гехрманном (Bernd Gehrmann) bernd@kdevelop.org и Калебом Теннисом (Caleb Tennis) caleb@aei-tech.com. + Главы Краткое описание &automanag; и Использование менеджера Automake написаны Йеном Вадхамом (Ian Wadham), ianw@netspace.net.au. Перевод руководства на русский язык осуществил Николай Шафоростов, shaforostoff@users.sourceforge.net, домашняя страничка — . Замечания и дополнения приветствуются. - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/cvs.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/cvs.docbook index a9ff376caa8..57da00e0b84 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/cvs.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/cvs.docbook @@ -1,133 +1,75 @@ -Использование &CVS; -CVS -контроль версий +Использование &CVS; +CVS +контроль версий -Основы &CVS; - -&CVS; — это система контроля версий, используемая большинством проектов с открытым исходным кодом, в т.ч. и &kde;. Она хранит весь исходный код в одном месте, называемом репозиторием (хранилищем). С помощью такого хранилища каждый может получить снимок исходного кода на определённый момент времени (и не обязательно на текущий). В отличии от других систем контроля версий, при работе над файлом разработчику не нужно его блокировать, что расширяет возможности параллельной разработки. - -После выполнения задачи разработчик загружает (commit) изменённые файлы в хранилище (со списком изменений). &CVS; может объединять изменения в одном файле, сделанные несколькими людьми. Конечно, может случиться так, что разработчики работали над одной и той же частью файла, что приведёт к конфликту (на практике такое случается редко и является результатом недостаточного обсуждения процесса разработки). В таком случае &CVS; отказывается принять конфликтный файл и разработчику придётся устранять конфликт самостоятельно. - -&CVS; может намного больше, например, вести несколько веток (branch) разработки (например &kde; 3.1.4 и &kde; 3.2 были разными ветками дерева разработки &kde;), перемещать изменения из одной ветки в другую, выводить различия между разными версиями файла, выводить историю изменений файла и т.д. - -&CVS; реализован как система клиент-сервер. Со стороны пользователя связь с хранилищем идёт через консольную программу &cvs;. Однако доступно также большое количество графических интерфейсов к ней, например &cervisia; () или TkCVS (). В &tdevelop; напрямую доступна лишь небольшая часть функциональности &cvs;, необходимая для каждодневной работы. - -Вам потребуется знание основ использования &CVS;, в частности, вы должны знать как загружать (checkout) проект из хранилища. Мы рекомендуем прочитать книгу Open Source Development With CVS, написанную Карлом Фогелем (Karl Fogel), распространяемую бесплатно (кроме нетехнических глав). Кроме того, вы можете прочитать о &CVS; по-русски на сайте linux.org.ru - - +Основы &CVS; + +&CVS; — это система контроля версий, используемая большинством проектов с открытым исходным кодом, в т.ч. и &kde;. Она хранит весь исходный код в одном месте, называемом репозиторием (хранилищем). С помощью такого хранилища каждый может получить снимок исходного кода на определённый момент времени (и не обязательно на текущий). В отличии от других систем контроля версий, при работе над файлом разработчику не нужно его блокировать, что расширяет возможности параллельной разработки. + +После выполнения задачи разработчик загружает (commit) изменённые файлы в хранилище (со списком изменений). &CVS; может объединять изменения в одном файле, сделанные несколькими людьми. Конечно, может случиться так, что разработчики работали над одной и той же частью файла, что приведёт к конфликту (на практике такое случается редко и является результатом недостаточного обсуждения процесса разработки). В таком случае &CVS; отказывается принять конфликтный файл и разработчику придётся устранять конфликт самостоятельно. + +&CVS; может намного больше, например, вести несколько веток (branch) разработки (например &kde; 3.1.4 и &kde; 3.2 были разными ветками дерева разработки &kde;), перемещать изменения из одной ветки в другую, выводить различия между разными версиями файла, выводить историю изменений файла и т.д. + +&CVS; реализован как система клиент-сервер. Со стороны пользователя связь с хранилищем идёт через консольную программу &cvs;. Однако доступно также большое количество графических интерфейсов к ней, например &cervisia; () или TkCVS (). В &tdevelop; напрямую доступна лишь небольшая часть функциональности &cvs;, необходимая для каждодневной работы. + +Вам потребуется знание основ использования &CVS;, в частности, вы должны знать как загружать (checkout) проект из хранилища. Мы рекомендуем прочитать книгу Open Source Development With CVS, написанную Карлом Фогелем (Karl Fogel), распространяемую бесплатно (кроме нетехнических глав). Кроме того, вы можете прочитать о &CVS; по-русски на сайте linux.org.ru + + -Команды &CVS; в &tdevelop; +Команды &CVS; в &tdevelop; -В обзоре файлов доступны такие пункты контекстного меню: +В обзоре файлов доступны такие пункты контекстного меню: -Добавить в хранилище +Добавить в хранилище -Подготавливает отмеченные файлы к передаче их в хранилище. +Подготавливает отмеченные файлы к передаче их в хранилище. -Удалить из хранилища +Удалить из хранилища -Подготавливает отмеченный файл к удалению из хранилища. При этом файл также удаляется на локальной файловой системе. +Подготавливает отмеченный файл к удалению из хранилища. При этом файл также удаляется на локальной файловой системе. -Обновить +Обновить -Выполняет команду cvs update для объединения изменений, сделанных другими пользователями. Если вы вызываете эту команду для каталога, обновление происходит рекурсивно, если только вы не отключили это в конфигурационном файле .cvsrc. +Выполняет команду cvs update для объединения изменений, сделанных другими пользователями. Если вы вызываете эту команду для каталога, обновление происходит рекурсивно, если только вы не отключили это в конфигурационном файле .cvsrc. -Передать на сервер +Передать на сервер -Выполняет команду cvs commit для передачи изменений, сделанных вами в хранилище. Помните, что перед этим необходимо выполнить обновление. Иначе, если другой пользователь уже передал свои изменения до этого, может возникнуть конфликт. +Выполняет команду cvs commit для передачи изменений, сделанных вами в хранилище. Помните, что перед этим необходимо выполнить обновление. Иначе, если другой пользователь уже передал свои изменения до этого, может возникнуть конфликт. -Все эти команды запускаются как подпроцесс &tdevelop; без дополнительных ключей или переменных окружения. Это создаёт проблемы, например, когда вы работаете через соединение &ssh;, и вам нужно ввести пароль. Это необходимо, например, при работе с sourceforge.net. Работа над этой проблемой описана в FAQ &CVS;/SSH, который можно найти в разделе документации проекта SourceForge. +Все эти команды запускаются как подпроцесс &tdevelop; без дополнительных ключей или переменных окружения. Это создаёт проблемы, например, когда вы работаете через соединение &ssh;, и вам нужно ввести пароль. Это необходимо, например, при работе с sourceforge.net. Работа над этой проблемой описана в FAQ &CVS;/SSH, который можно найти в разделе документации проекта SourceForge. - + -За кулисами +За кулисами -Что &CVS; записывает в рабочем каталоге +Что &CVS; записывает в рабочем каталоге -(... в процессе написания ...) - +(... в процессе написания ...) + - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook index cff2b7ab18e..6efa5e283d3 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/debugger.docbook @@ -1,216 +1,85 @@ -Интерфейс отладчика -отладчик - -Для C и C++ &tdevelop; содержит встроенный отладчик, интегрированный с редактором. Технически это реализовано как внешний интерфейс для отладчика &GNU; gdb через каналы (pipe). Отладчик можно запустить несколькими способами: +Интерфейс отладчика +отладчик + +Для C и C++ &tdevelop; содержит встроенный отладчик, интегрированный с редактором. Технически это реализовано как внешний интерфейс для отладчика &GNU; gdb через каналы (pipe). Отладчик можно запустить несколькими способами: -Через пункт меню ОтладкаЗапуск, после чего в отладчик загрузится главная программа вашего проекта. +Через пункт меню ОтладкаЗапуск, после чего в отладчик загрузится главная программа вашего проекта. -Через пункт меню Отладка Запуск другого Загрузить файл core загрузится core-файл, генерируемый ядром системы после сбоя программы (это может быть выключено в вашей системе, см. ulimit(1)). Эта отладка полезна для анализа сбоев программы. +Через пункт меню Отладка Запуск другого Загрузить файл core загрузится core-файл, генерируемый ядром системы после сбоя программы (это может быть выключено в вашей системе, см. ulimit(1)). Эта отладка полезна для анализа сбоев программы. -Через пункт меню Отладка Запуск другого Присоединить к процессу отладчик подстроится к уже запущенной программе. Вам нужно будет выбрать её из списка запущенных процессов. +Через пункт меню Отладка Запуск другого Присоединить к процессу отладчик подстроится к уже запущенной программе. Вам нужно будет выбрать её из списка запущенных процессов. -Помните, что отладка возможна только если программа была скомпилирована с информацией для отладки. Это можно установить в диалоге Параметры компилятора. Информация для отладки помогает найти соответствие между именами файлов, строчками и адресами в программе. +Помните, что отладка возможна только если программа была скомпилирована с информацией для отладки. Это можно установить в диалоге Параметры компилятора. Информация для отладки помогает найти соответствие между именами файлов, строчками и адресами в программе. -Отладчик предлагает несколько видов информации о процессе: +Отладчик предлагает несколько видов информации о процессе: -При попытке запуска отладки проекта без отладочной информации вы получите сообщение Нет исходного кода... в строке состояния. При установке точки останова, она будет показана в панели точек останова как В ожидании (добавление) (см. ниже). +При попытке запуска отладки проекта без отладочной информации вы получите сообщение Нет исходного кода... в строке состояния. При установке точки останова, она будет показана в панели точек останова как В ожидании (добавление) (см. ниже). -Переменные +Переменные -наблюдать переменные -Окно содержит список значений всех локальных переменных на текущей точке выполнения. - -Можно наблюдать как локальные, так и глобальные переменные. Добавить переменную можно либо нажатием кнопки Добавить, либо нажатием клавиши Enter на выбранном пункте Наблюдение. Удалить их можно через контекстное меню. +наблюдать переменные +Окно содержит список значений всех локальных переменных на текущей точке выполнения. + +Можно наблюдать как локальные, так и глобальные переменные. Добавить переменную можно либо нажатием кнопки Добавить, либо нажатием клавиши Enter на выбранном пункте Наблюдение. Удалить их можно через контекстное меню. -Фреймовый стек +Фреймовый стек -фреймовый стек -(... в процессе написания ...) +фреймовый стек +(... в процессе написания ...) -Точки останова +Точки останова -точки останова -Данная панель позволяет просматривать и управлять точками останова. Для непосредственной отладки используется GDB, так что для полного понимания всех возможностей отладки &tdevelop; необходимо базовое представление о принципе работы GDB. - -Исходный код, содержащий определение точек останова, находится в файле tdevelop/languages/cpp/debugger/breakpoint.h. - -На левом краю панели имеются кнопки со следующими функциями: +точки останова +Данная панель позволяет просматривать и управлять точками останова. Для непосредственной отладки используется GDB, так что для полного понимания всех возможностей отладки &tdevelop; необходимо базовое представление о принципе работы GDB. + +Исходный код, содержащий определение точек останова, находится в файле tdevelop/languages/cpp/debugger/breakpoint.h. + +На левом краю панели имеются кнопки со следующими функциями: -Добавление пустой точки останова -Изменение выбранной точки останова - Удаление выбранной точки останова -Удаление всех точек останова +Добавление пустой точки останова +Изменение выбранной точки останова + Удаление выбранной точки останова +Удаление всех точек останова -Основная часть панели - таблица с 7 столбцами. Каждой строке таблицы соответствует одна точка останова. Столбцы: +Основная часть панели - таблица с 7 столбцами. Каждой строке таблицы соответствует одна точка останова. Столбцы: -Переключатель для выбора точек -Тип: Ошибка, Файл:строка, Точка наблюдения, Адрес или Метод -Статус: +Переключатель для выбора точек +Тип: Ошибка, Файл:строка, Точка наблюдения, Адрес или Метод +Статус: - Разрешена - Запрещена: если точка останова запрещена, при отладке она пропускается. - В ожидании (добавление): показывается при отсутствии отладочной информации. Из info-страницы GDB:
Если указанное расположение точки останова найти не удалось, это может быть из-за того, что библиотека, в которой оно находится, ещё не загружена. В этом случае можно создать особую точку останова (pending breakpoint), действие которой откладывается до хагрухки необходимой библиотеки.
+ Разрешена + Запрещена: если точка останова запрещена, при отладке она пропускается. + В ожидании (добавление): показывается при отсутствии отладочной информации. Из info-страницы GDB:
Если указанное расположение точки останова найти не удалось, это может быть из-за того, что библиотека, в которой оно находится, ещё не загружена. В этом случае можно создать особую точку останова (pending breakpoint), действие которой откладывается до хагрухки необходимой библиотеки.
-В ожидании (очистка) -В ожидании (изменение) -Расположение в формате файл:строка -Условие -Счётчик игнорирования: если число N больше нуля, то в первые N раз при достижении точки останова выполнение программы остановленр не будет. -Попадания: количество достижений точки останова. +В ожидании (очистка) +В ожидании (изменение) +Расположение в формате файл:строка +Условие +Счётчик игнорирования: если число N больше нуля, то в первые N раз при достижении точки останова выполнение программы остановленр не будет. +Попадания: количество достижений точки останова.
@@ -218,15 +87,10 @@
-Дизассемблирование +Дизассемблирование -дизассемблирование -(... в процессе написания ...) +дизассемблирование +(... в процессе написания ...) @@ -234,96 +98,51 @@ -Установка точек останова +Установка точек останова -(... в процессе написания ...) +(... в процессе написания ...) - + -Параметры +Параметры -Отобразить обработанные имена +Отобразить обработанные имена -обработка имён -mangleимя - -В программе, написанной на C++, имена функций изменяются (mangled), то есть к начальному имени функции добавляется информация о типах аргументов, которые она принимает. Это необходимо для перегрузки (overload) функций. Алгоритм такой обработки не стандартизован и имеет различные реализации даже в разных версиях компилятора &GNU; C++. - -В окне дизассемблирования отображаются не изменённые имена, однако это можно изменить. +обработка имён +mangleимя + +В программе, написанной на C++, имена функций изменяются (mangled), то есть к начальному имени функции добавляется информация о типах аргументов, которые она принимает. Это необходимо для перегрузки (overload) функций. Алгоритм такой обработки не стандартизован и имеет различные реализации даже в разных версиях компилятора &GNU; C++. + +В окне дизассемблирования отображаются не изменённые имена, однако это можно изменить. -Попробуйте установку точек останова по загрузке библиотеки +Попробуйте установку точек останова по загрузке библиотеки -"ленивые" точки останова -точки остановаlazy - -Отладчик gdb не разрешает устанавливать точки останова в коде, не загруженном в данный момент. В приложении с модульной структурой, где код загружается только по требованию (через функцию libc dlopen(3)). Возможность установки точек останова в библиотеках предоставляет &tdevelop;. Таким образом, точки останова ставятся в своеобразную очередь и передаются gdb только после загрузки необходимой библиотеки. +"ленивые" точки останова +точки остановаlazy + +Отладчик gdb не разрешает устанавливать точки останова в коде, не загруженном в данный момент. В приложении с модульной структурой, где код загружается только по требованию (через функцию libc dlopen(3)). Возможность установки точек останова в библиотеках предоставляет &tdevelop;. Таким образом, точки останова ставятся в своеобразную очередь и передаются gdb только после загрузки необходимой библиотеки. -Включить плавающую панель +Включить плавающую панель -панель инструментов отладчика -панель инструментовотладчик - -(... в процессе написания ...) +панель инструментов отладчика +панель инструментовотладчик + +(... в процессе написания ...) - + -
+ diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/documentation.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/documentation.docbook index c3a0bff03e2..95dc8e7256c 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/documentation.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/documentation.docbook @@ -1,73 +1,36 @@ -Документирование +Документирование -К несчастью, написание документации часто бывает сложнее написания кода. Но продуманно организованная и понятно написанная, она оказывает значительную помощь в разработке, позволяющую не обращаться лишний раз за советом на форумы, или, что ещё лучше, к автору. +К несчастью, написание документации часто бывает сложнее написания кода. Но продуманно организованная и понятно написанная, она оказывает значительную помощь в разработке, позволяющую не обращаться лишний раз за советом на форумы, или, что ещё лучше, к автору. -Документирование имеет несколько граней. Это - внутренняя документация проекта, состоящая в основном из - комментариев в исходных файлах - внутренняя &API;-документация, генерируемая специальными инструментами, такими как &doxygen; +Документирование имеет несколько граней. Это + внутренняя документация проекта, состоящая в основном из + комментариев в исходных файлах + внутренняя &API;-документация, генерируемая специальными инструментами, такими как &doxygen; - - внешняя документация проекта - внешняя &API;-документация, например по функциям библиотек (&kde;, &Qt; и т.д.) - другая документация (по языкам программирования, статьи HOWTO, общая системная информация) + + внешняя документация проекта + внешняя &API;-документация, например по функциям библиотек (&kde;, &Qt; и т.д.) + другая документация (по языкам программирования, статьи HOWTO, общая системная информация) - + -Вся указанная документация должна быть удобна и легко доступна, когда она понадобится. &tdevelop; предлагает гибкое решение для этого. +Вся указанная документация должна быть удобна и легко доступна, когда она понадобится. &tdevelop; предлагает гибкое решение для этого. -Обзор документации +Обзор документации
-Снимок экрана структуры документации +Снимок экрана структуры документации - +
-
+ -
+ diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/editing.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/editing.docbook index 61119041fb5..2fd451bebaa 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/editing.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/editing.docbook @@ -1,606 +1,224 @@ -Средства редактирования +Средства редактирования -Заготовки кода +Заготовки кода - Обзор возможностей - SnippetPart добавляет новое отображение справа - Добавление, изменение и удаление заготовок доступно через контекстное меню - Двойной щелчок по заготовке вставит её в текущую позицию курсора - Содержание заготовок отображается в подсказках - Заготовки кода хранятся в домашнем каталоге пользователя, поэтому каждый пользователь может иметь свой набор заготовок. - Они могут содержать переменные в виде $VARNAME$. Перед использованием заготовок с переменными будет предложено ввести их значение + Обзор возможностей + SnippetPart добавляет новое отображение справа + Добавление, изменение и удаление заготовок доступно через контекстное меню + Двойной щелчок по заготовке вставит её в текущую позицию курсора + Содержание заготовок отображается в подсказках + Заготовки кода хранятся в домашнем каталоге пользователя, поэтому каждый пользователь может иметь свой набор заготовок. + Они могут содержать переменные в виде $VARNAME$. Перед использованием заготовок с переменными будет предложено ввести их значение - + -Комбинации клавиш -комбинации клавиш +Комбинации клавиш +комбинации клавиш -Далее следует список стандартных комбинаций клавиш редактора. +Далее следует список стандартных комбинаций клавиш редактора. -Стрелка влево -Переместиться на один символ влево - -Стрелка вправо -Переместиться на один символ вправо - -&Ctrl; Стрелка влево -Переместиться на одно слово влево - -&Ctrl; Стрелка вправо -Переместиться на одно слово вправо - -Стрелка вверх -Переместиться на одну строку вверх - -Стрелка вниз -Переместиться на одну строку вниз - -Page Up -Переместиться на одну страницу вверх - -Page Down -Переместиться на одну страницу вниз - -&Ctrl; Page Down -Переместиться в начало файла - -&Ctrl; Page Down -Переместиться в конец файла - -Home -Переместиться в начало строки - -End -Переместиться в конец строки +Стрелка влево +Переместиться на один символ влево + +Стрелка вправо +Переместиться на один символ вправо + +&Ctrl; Стрелка влево +Переместиться на одно слово влево + +&Ctrl; Стрелка вправо +Переместиться на одно слово вправо + +Стрелка вверх +Переместиться на одну строку вверх + +Стрелка вниз +Переместиться на одну строку вниз + +Page Up +Переместиться на одну страницу вверх + +Page Down +Переместиться на одну страницу вниз + +&Ctrl; Page Down +Переместиться в начало файла + +&Ctrl; Page Down +Переместиться в конец файла + +Home +Переместиться в начало строки + +End +Переместиться в конец строки -Если к приведённым выше комбинациям клавиш добавить &Shift;, при перемещении курсора будет также выделяться текст, через который курсор проходит при перемещении. +Если к приведённым выше комбинациям клавиш добавить &Shift;, при перемещении курсора будет также выделяться текст, через который курсор проходит при перемещении. -Backspace -Удалить один символ слева - -Delete -Удалить один символ справа (под курсором) - -&Ctrl; C -Копировать выделенный текст в буфер обмена - -&Ctrl; V -Вставить выделенный текст из буфера обмена - -&Ctrl; X -Копировать выделенный текст в буфер обмена и затем удалить его - -&Ctrl; Z -Отменить последнее действие - -&Shift;&Ctrl; Z -Повторить последнее отменённое действие +Backspace +Удалить один символ слева + +Delete +Удалить один символ справа (под курсором) + +&Ctrl; C +Копировать выделенный текст в буфер обмена + +&Ctrl; V +Вставить выделенный текст из буфера обмена + +&Ctrl; X +Копировать выделенный текст в буфер обмена и затем удалить его + +&Ctrl; Z +Отменить последнее действие + +&Shift;&Ctrl; Z +Повторить последнее отменённое действие - + -Отчёт об ошибках +Отчёт об ошибках -(... в процессе написания ...) - +(... в процессе написания ...) + -Поиск в текущем документе и файлах -поиск -нахождение +Поиск в текущем документе и файлах +поиск +нахождение -Поиск текста +Поиск текста -&Ctrl;F — найти, &Ctrl;R — найти и заменить +&Ctrl;F — найти, &Ctrl;R — найти и заменить - + -ISearch -поиск по мере набора -поиск по мере набора -поискпо мере набора - -Традиционный поиск через Правка Найти требует указания искомого отрывка текста полностью. Однако значительно быстрее искать текст по мере набора (инкрементально): нажмите кнопку ISearch на панели инструментов и начинайте вводить искомый текст. По мере того, как вы будете вводить новые буквы, каждый раз будет выполняться поиск набираемого слова. Обычно искомое место в документе находится уже после ввода 3-4 букв. - - +ISearch +поиск по мере набора +поиск по мере набора +поискпо мере набора + +Традиционный поиск через Правка Найти требует указания искомого отрывка текста полностью. Однако значительно быстрее искать текст по мере набора (инкрементально): нажмите кнопку ISearch на панели инструментов и начинайте вводить искомый текст. По мере того, как вы будете вводить новые буквы, каждый раз будет выполняться поиск набираемого слова. Обычно искомое место в документе находится уже после ввода 3-4 букв. + + -Grep -поискв файлах - -Оба описанных выше поиска ограничены текущим файлом. Для поиска сразу в нескольких файлах, воспользуйтесь пунктом Поиск в файлах... меню Правка. При этом будет вызван графический интерфейс к команде &grep;(1). - -Здесь вы можете выбрать маску файлов, в которых будет производиться поиск, и другие средства по уменьшению количества сканируемых файлов. Кроме того, в этом диалоге вы можете указать каталог для поиска. Если вы включите флажок Рекурсивно, поиск продолжится и во всех вложенных каталогах. - -Обычно условие поиска представляет собой регулярное выражение с синтаксисом стандарта POSIX. Например, вы можете использовать условие "\<K.*" если хотите найти все слова, начинающиеся с буквы K. Следующие символы являются служебными: +Grep +поискв файлах + +Оба описанных выше поиска ограничены текущим файлом. Для поиска сразу в нескольких файлах, воспользуйтесь пунктом Поиск в файлах... меню Правка. При этом будет вызван графический интерфейс к команде &grep;(1). + +Здесь вы можете выбрать маску файлов, в которых будет производиться поиск, и другие средства по уменьшению количества сканируемых файлов. Кроме того, в этом диалоге вы можете указать каталог для поиска. Если вы включите флажок Рекурсивно, поиск продолжится и во всех вложенных каталогах. + +Обычно условие поиска представляет собой регулярное выражение с синтаксисом стандарта POSIX. Например, вы можете использовать условие "\<K.*" если хотите найти все слова, начинающиеся с буквы K. Следующие символы являются служебными: - - . -Любой символ - - ^ -Начало строки - - $ -Конец строки - - \< -Начало слова - - \> -Конец слова - - ? -Предшествующий элемент может совпадать меньше, чем один раз - - * -Предшествующий элемент отсутствует или присутствует один или несколько раз - - + -Предшествующий элемент присутствует один или более раз - - {n} -Предшествующий элемент отсутствует или присутствует один или несколько раз - - {n,} -Предшествующий элемент присутствует один или более раз - - {,n} -Предшествующий элемент может совпадать меньше, чем один раз - - {n,m} -Предшествующий элемент присутствует больше n но меньше m раз + + . +Любой символ + + ^ +Начало строки + + $ +Конец строки + + \< +Начало слова + + \> +Конец слова + + ? +Предшествующий элемент может совпадать меньше, чем один раз + + * +Предшествующий элемент отсутствует или присутствует один или несколько раз + + + +Предшествующий элемент присутствует один или более раз + + {n} +Предшествующий элемент отсутствует или присутствует один или несколько раз + + {n,} +Предшествующий элемент присутствует один или более раз + + {,n} +Предшествующий элемент может совпадать меньше, чем один раз + + {n,m} +Предшествующий элемент присутствует больше n но меньше m раз -Обратное отношение к подвыражениям в скобках также доступно через нотацию \n. +Обратное отношение к подвыражениям в скобках также доступно через нотацию \n. -Для программирующих на C++ есть специфические шаблоны. Например, для поиска всех вызовов всех элементарных функций определённого объекта. +Для программирующих на C++ есть специфические шаблоны. Например, для поиска всех вызовов всех элементарных функций определённого объекта. -После запуска поиска, но будет производится внешним, асинхронным процессом. Все найденные элементы будут отображены в виде Grep. Чтобы перейти к просмотру файла, щёлкните на нём. Помните, что файлы сортируются по их физическому расположению. Если найденный файл уже открыт в редакторе (и изменён), могут быть несоответствия в номерах строки. Для предотвращения этого сохраняйте все файлы перед поиском. +После запуска поиска, но будет производится внешним, асинхронным процессом. Все найденные элементы будут отображены в виде Grep. Чтобы перейти к просмотру файла, щёлкните на нём. Помните, что файлы сортируются по их физическому расположению. Если найденный файл уже открыт в редакторе (и изменён), могут быть несоответствия в номерах строки. Для предотвращения этого сохраняйте все файлы перед поиском. - + - + -Завершение кода +Завершение кода -(... в процессе написания ...) - +(... в процессе написания ...) + -Создание новых файлов и классов +Создание новых файлов и классов -(... в процессе написания ...) +(... в процессе написания ...) -Изменение шаблонов +Изменение шаблонов -(... в процессе написания ...) - +(... в процессе написания ...) + - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/file-browsers.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/file-browsers.docbook index 94d23966608..4992458ef2b 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/file-browsers.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/file-browsers.docbook @@ -1,65 +1,41 @@ -Обзор файлов +Обзор файлов -В левой части главного окна &tdevelop; могут отображаться разнообразные списки и структуры файлов: +В левой части главного окна &tdevelop; могут отображаться разнообразные списки и структуры файлов: -Дерево файлов +Дерево файлов -Наглядное отображение иерархии файлов проекта. При щелчке на файле он будет открыт в редакторе. Не-текстовые файлы открываются в приложениях, сопоставленных с их MIME-типом. +Наглядное отображение иерархии файлов проекта. При щелчке на файле он будет открыт в редакторе. Не-текстовые файлы открываются в приложениях, сопоставленных с их MIME-типом. -Дерево файлов обновляется при каждом изменении файловой системы (в пределах каталога проекта). Например, если вы создадите новый файл или каталог (программой отличной от &tdevelop;), это отразится на списке. На операционных системах, отличных от &Linux;, или на файловой системе NFS, каталоги обновляются через некоторые промежутки времени. +Дерево файлов обновляется при каждом изменении файловой системы (в пределах каталога проекта). Например, если вы создадите новый файл или каталог (программой отличной от &tdevelop;), это отразится на списке. На операционных системах, отличных от &Linux;, или на файловой системе NFS, каталоги обновляются через некоторые промежутки времени. -Файлы, не представляющие интереса, не отображаются. Однако в диалоговом окне Параметры проекта-Дерево файлов вы можете изменить это указанием своих масок файлов для фильтрования (разделяя их запятыми). +Файлы, не представляющие интереса, не отображаются. Однако в диалоговом окне Параметры проекта-Дерево файлов вы можете изменить это указанием своих масок файлов для фильтрования (разделяя их запятыми). -Более того, вы можете ограничить отображаемые файлы только принадлежащими к текущему проекту. Для этого воспользуйтесь контекстным меню корневого элемента дерева файлов. +Более того, вы можете ограничить отображаемые файлы только принадлежащими к текущему проекту. Для этого воспользуйтесь контекстным меню корневого элемента дерева файлов.
-Снимок экрана дерева файлов +Снимок экрана дерева файлов - -Снимок экрана дерева файлов + +Снимок экрана дерева файлов
-Файловые категории +Файловые категории -Здесь отображаются файлы проекта, сгруппированные по расширению. При щелчке на файле он будет открыт в редакторе. +Здесь отображаются файлы проекта, сгруппированные по расширению. При щелчке на файле он будет открыт в редакторе. -Категории файлов, отображаемые в Дереве файлов, можно настроить в настройках проекта. Сканируя каталог, &tdevelop; ищет категорию, к которой подходит текущий файл, а найдя такую, поиск останавливается. Т.е. в конце списка должны быть категории с наиболее общими масками, а в начале — с более специфическими. Например, звёздочка должны быть в конце. +Категории файлов, отображаемые в Дереве файлов, можно настроить в настройках проекта. Сканируя каталог, &tdevelop; ищет категорию, к которой подходит текущий файл, а найдя такую, поиск останавливается. Т.е. в конце списка должны быть категории с наиболее общими масками, а в начале — с более специфическими. Например, звёздочка должны быть в конце.
-
+ diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/getting-started.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/getting-started.docbook index 17c197d647e..4fd9230017f 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/getting-started.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/getting-started.docbook @@ -9,147 +9,61 @@ Keep lines at 80 characters length maximum. -BerndPol -СергейБобыкин
_myst@mail.ru
Перевод на русский язык
+BerndPol +СергейБобыкин
_myst@mail.ru
Перевод на русский язык
-Начало работы с &tdevelop;. +Начало работы с &tdevelop;. -Теперь, когда вы только установили среду разработки &tdevelop;, как вы собираетесь её применять? Это сложное приложение, освоить его непросто, особенно, если вы ещё не использовали такой тип интегрированных сред разработки. +Теперь, когда вы только установили среду разработки &tdevelop;, как вы собираетесь её применять? Это сложное приложение, освоить его непросто, особенно, если вы ещё не использовали такой тип интегрированных сред разработки. -Мы попробуем помочь вам в этом на примере создания простого приложения на C++ для KDE. Для этого мы рассмотрим следующие темы: +Мы попробуем помочь вам в этом на примере создания простого приложения на C++ для KDE. Для этого мы рассмотрим следующие темы: -Знакомство с элементами пользовательского интерфейса. -Начальная настройка. -Создание нового проекта. +Знакомство с элементами пользовательского интерфейса. +Начальная настройка. +Создание нового проекта. -Работа с документами. -Компиляция проекта. -Добавление в проект классов. -Отладка проекта. -Основные инструменты сборки программ и пользовательской документации. -Последнее, но не менее важное, комбинации клавиш +Работа с документами. +Компиляция проекта. +Добавление в проект классов. +Отладка проекта. +Основные инструменты сборки программ и пользовательской документации. +Последнее, но не менее важное, комбинации клавиш -Перед тем, как начать, нужно прояснить один важный момент. +Перед тем, как начать, нужно прояснить один важный момент. -Предназначение программы. -Как уже говорилось, &tdevelop; — это интегрированная среда разработки. Это означает, что &tdevelop; сама по себе является не средством разработки, но графической оболочкой для упрощения доступа к различным инструментам, многие из которых требуют сложных команд, запускаемых из текстовой консоли. +Предназначение программы. +Как уже говорилось, &tdevelop; — это интегрированная среда разработки. Это означает, что &tdevelop; сама по себе является не средством разработки, но графической оболочкой для упрощения доступа к различным инструментам, многие из которых требуют сложных команд, запускаемых из текстовой консоли. -Хотя &tdevelop; упрощает многие задачи программирования, значительная часть сложности этих инструментов ещё лежит на плечах разработчика. Для полного понимания &tdevelop;, вам необходимо понимать, как они работают. +Хотя &tdevelop; упрощает многие задачи программирования, значительная часть сложности этих инструментов ещё лежит на плечах разработчика. Для полного понимания &tdevelop;, вам необходимо понимать, как они работают. -Поэтому мы не можем научить вас разрабатывать программное обеспечение, но познакомим с тем, каким образом &tdevelop; упрощает процесс создания программ. Если вы хотите узнать больше о назначении интегрированных сред разработки, возможно вас заинтересует глава «Разработка ПО в &UNIX;», особенно раздел «Концепции и средства интегрирования». +Поэтому мы не можем научить вас разрабатывать программное обеспечение, но познакомим с тем, каким образом &tdevelop; упрощает процесс создания программ. Если вы хотите узнать больше о назначении интегрированных сред разработки, возможно вас заинтересует глава «Разработка ПО в &UNIX;», особенно раздел «Концепции и средства интегрирования». -Излагая материал, мы предполагаем, что &tdevelop; у вас запускается в режиме Упрощённый IDEAl. В других режимах интерфейса, некоторые элементы могут располагаться в других местах и вести себя немного иначе. Если вы не знаете в каком режиме интерфейса работает среда, выберите Настройка Настроить KDevelop... Интерфейс пользователя и посмотрите. +Излагая материал, мы предполагаем, что &tdevelop; у вас запускается в режиме Упрощённый IDEAl. В других режимах интерфейса, некоторые элементы могут располагаться в других местах и вести себя немного иначе. Если вы не знаете в каком режиме интерфейса работает среда, выберите Настройка Настроить KDevelop... Интерфейс пользователя и посмотрите. -Первое знакомство с &tdevelop; +Первое знакомство с &tdevelop; -Эта глава посвящена тому, что вы увидите, когда впервые запустите &tdevelop;. В ней вы узнаете: +Эта глава посвящена тому, что вы увидите, когда впервые запустите &tdevelop;. В ней вы узнаете: -описание интерфейса программы; -как получить справку; -структуру меню; -предназначение боковых панелей. +описание интерфейса программы; +как получить справку; +структуру меню; +предназначение боковых панелей. -Описание интерфейса программы +Описание интерфейса программы -При первом запуске &tdevelop;, вы увидите окно, похожее на это: +При первом запуске &tdevelop;, вы увидите окно, похожее на это: @@ -157,619 +71,361 @@ Keep lines at 80 characters length maximum. -Начальное расположение элементов в окне &tdevelop;. -В реальности окно будет больше, но элементы в нём будут точно такими же. +Начальное расположение элементов в окне &tdevelop;. +В реальности окно будет больше, но элементы в нём будут точно такими же. -Рабочая область и боковые панели -В начале среда работает, в так называемом режиме интерфейса IDEAl. Рабочее пространство слева, снизу и справа окружено рядами кнопок, которые действуют наподобие вкладок. Если вы нажмёте на одну из них, откроется боковая панель для выполнения определённой задачи. +Рабочая область и боковые панели +В начале среда работает, в так называемом режиме интерфейса IDEAl. Рабочее пространство слева, снизу и справа окружено рядами кнопок, которые действуют наподобие вкладок. Если вы нажмёте на одну из них, откроется боковая панель для выполнения определённой задачи. -Меню и панели инструментов -Вверху окна находится обычная панель меню, под которой следуют несколько панелей инструментов. Некоторые из них изначально пустые. Они будут заполнены после открытия проекта. +Меню и панели инструментов +Вверху окна находится обычная панель меню, под которой следуют несколько панелей инструментов. Некоторые из них изначально пустые. Они будут заполнены после открытия проекта. -Строка состояния -Внизу находится строка состояния. Она показывает краткую информацию. +Строка состояния +Внизу находится строка состояния. Она показывает краткую информацию. -Как получить справку +Как получить справку -Помимо меню Справка, отвечающее на конкретные вопросы, можно использовать строку состояния и два вида всплывающих подсказок, предоставляющих краткую справку. +Помимо меню Справка, отвечающее на конкретные вопросы, можно использовать строку состояния и два вида всплывающих подсказок, предоставляющих краткую справку. -Как узнать назначение пункта меню. -При наведении курсора на пункт меню, в строке состояния выводится краткое пояснение к нему. В большинстве случаев это просто название, но для некоторых пунктов — описание команды. +Как узнать назначение пункта меню. +При наведении курсора на пункт меню, в строке состояния выводится краткое пояснение к нему. В большинстве случаев это просто название, но для некоторых пунктов — описание команды. -Как узнать название элемента интерфейса -Многие элементы имеют всплывающую подсказку, которая будет показываться, если задержать указатель мыши над элементом на несколько секунд. Это полезно для быстрой ориентации на панели инструментов или вкладках боковых панелей в режиме IDEAl, когда на кнопках показываются только значки. +Как узнать название элемента интерфейса +Многие элементы имеют всплывающую подсказку, которая будет показываться, если задержать указатель мыши над элементом на несколько секунд. Это полезно для быстрой ориентации на панели инструментов или вкладках боковых панелей в режиме IDEAl, когда на кнопках показываются только значки. -Как узнать назначение элемента интерфейса -Для многих элементов среды доступна дополнительная информация через расширенную подсказку. Выберите команду меню Справка Что это? или нажмите комбинацию клавиш &Shift;F1. Рядом с указателем мыши появится знак вопроса. Выберите интересующий элемент и полу́чите дополнительную информацию о нём, если она имеется. Этим способом также можно выбирать любые меню и их пункты (и активные, и неактивные). +Как узнать назначение элемента интерфейса +Для многих элементов среды доступна дополнительная информация через расширенную подсказку. Выберите команду меню Справка Что это? или нажмите комбинацию клавиш &Shift;F1. Рядом с указателем мыши появится знак вопроса. Выберите интересующий элемент и полу́чите дополнительную информацию о нём, если она имеется. Этим способом также можно выбирать любые меню и их пункты (и активные, и неактивные). -Структура меню +Структура меню -Панель меню содержит десять элементов. После открытия проекта, большинство из них имеет полный набор пунктов, но для некоторых требуется открыть хотя бы один документ в окне редактора. Они предоставляют следующие типы операций. +Панель меню содержит десять элементов. После открытия проекта, большинство из них имеет полный набор пунктов, но для некоторых требуется открыть хотя бы один документ в окне редактора. Они предоставляют следующие типы операций. -Это только предварительный обзор. Детальное описание находится в справочнике команд. +Это только предварительный обзор. Детальное описание находится в справочнике команд. -Файл +Файл -Обычные действия -Создание, открытие, сохранение, печать и закрытие файлов, а также выход из программы. +Обычные действия +Создание, открытие, сохранение, печать и закрытие файлов, а также выход из программы. -Вернуть все -Отмена последних, ещё не сохранённых изменений загрузкой содержания файла с диска. Операция выполняется для всех редактируемых файлов, не только для файлов проекта. +Вернуть все +Отмена последних, ещё не сохранённых изменений загрузкой содержания файла с диска. Операция выполняется для всех редактируемых файлов, не только для файлов проекта. -Правка +Правка -Это меню содержит действия для работы с документом. +Это меню содержит действия для работы с документом. -Обычные действия -Отмена и повтор, работа с буфером обмена, варианты выделения текстовых фрагментов. +Обычные действия +Отмена и повтор, работа с буфером обмена, варианты выделения текстовых фрагментов. -Поиск и замена -Существует два очень мощных средства поиска: Правка Найти в файлах... и Правка Поиск-выбор-замена.... Они позволяют выполнять поиск и замену не только в пределах текущего документа, но и глобально. +Поиск и замена +Существует два очень мощных средства поиска: Правка Найти в файлах... и Правка Поиск-выбор-замена.... Они позволяют выполнять поиск и замену не только в пределах текущего документа, но и глобально. -Комплексные операции -Переформатирование документа, несколько видов дополнения набираемого текста. +Комплексные операции +Переформатирование документа, несколько видов дополнения набираемого текста. -Вид +Вид -Среди прочих данное меню содержит следующие операции: +Среди прочих данное меню содержит следующие операции: -История просмотра -Перемещение по открытым документам. +История просмотра +Перемещение по открытым документам. -Отслеживание ошибок -Перемещение по строкам, в которых обнаружены ошибки во время последней компиляции или сборки. +Отслеживание ошибок +Перемещение по строкам, в которых обнаружены ошибки во время последней компиляции или сборки. -Управление редактором -В случае использования компонента &kate; (встроенный текстовый редактор) будут доступны: +Управление редактором +В случае использования компонента &kate; (встроенный текстовый редактор) будут доступны: -управление переносом строк в окне документа; +управление переносом строк в окне документа; -показ или скрытие полосы закладок, номеров строк, закладок на полосе прокрутки; +показ или скрытие полосы закладок, номеров строк, закладок на полосе прокрутки; -управление показом сворачиваемых блоков исходного кода. +управление показом сворачиваемых блоков исходного кода. -Проект +Проект -Вся работа в &tdevelop; основана на проектах, которые собирают воедино файлы исходного кода, файлы управления сборкой и другую информацию. Данное меню содержит команды управления проектом. В частности: +Вся работа в &tdevelop; основана на проектах, которые собирают воедино файлы исходного кода, файлы управления сборкой и другую информацию. Данное меню содержит команды управления проектом. В частности: -Открытие -Создание, открытие и импорт из других сред. +Открытие +Создание, открытие и импорт из других сред. -Параметры -Установка параметров. +Параметры +Установка параметров. -Управление классами -Добавление новых классов и управление иерархией наследования. +Управление классами +Добавление новых классов и управление иерархией наследования. -Подготовка к распространению -Сборка дистрибутивных пакетов для распространения в Интернете. +Подготовка к распространению +Сборка дистрибутивных пакетов для распространения в Интернете. -Сборка +Сборка -Команды компиляции и документирования проекта: +Команды компиляции и документирования проекта: -Компиляция, сборка, выполнение -Компилирование и сборка всего проекта или его части, запуск разрабатываемой программы. +Компиляция, сборка, выполнение +Компилирование и сборка всего проекта или его части, запуск разрабатываемой программы. -Подготовка к сборке -Набор операций этой группы зависит от используемой в проекте сборочной системы. Например, в случае automake это могут быть команды для выполнения Makefile.cvs и скрипта configure. +Подготовка к сборке +Набор операций этой группы зависит от используемой в проекте сборочной системы. Например, в случае automake это могут быть команды для выполнения Makefile.cvs и скрипта configure. -Установка приложения -Установка приложения в локальные и системные (доступные только для root) каталоги. +Установка приложения +Установка приложения в локальные и системные (доступные только для root) каталоги. -Документация по API -Сборка или удаление документации по API на базе Doxygen. +Документация по API +Сборка или удаление документации по API на базе Doxygen. -Отладка +Отладка -Для использования этого меню приложение нужно скомпилировать с отладочной информацией (это можно сделать через команду меню Проект Параметры проекта...). Меню содержит следующие операции: +Для использования этого меню приложение нужно скомпилировать с отладочной информацией (это можно сделать через команду меню Проект Параметры проекта...). Меню содержит следующие операции: -Обычные операции по отладке -Первая часть меню представляет собой вариант графического интерфейса к GDB &GNU;. Она включает в себя запуск и останов приложения в отладчике, несколько вариантов пошагового выполнения. +Обычные операции по отладке +Первая часть меню представляет собой вариант графического интерфейса к GDB &GNU;. Она включает в себя запуск и останов приложения в отладчике, несколько вариантов пошагового выполнения. -Точки останова -Устанавливать точки останова в исходном коде приложения можно несколькими способами. Один из них — команда Установить/снять точку останова. +Точки останова +Устанавливать точки останова в исходном коде приложения можно несколькими способами. Один из них — команда Установить/снять точку останова. -Комплексные операции по отладке -Остальные пункты меню представляют более сложные средства исследования программы. Чтобы узнать подробности, воспользуйтесь комбинацией клавиш &Shift;F1. +Комплексные операции по отладке +Остальные пункты меню представляют более сложные средства исследования программы. Чтобы узнать подробности, воспользуйтесь комбинацией клавиш &Shift;F1. -Скрипты +Скрипты -Из этого меню вы можете вызывать различные скрипты для выполнения рутинных операций обработки текста в текущем окне редактора. Набор доступных команд зависит от выбранного скрипта. +Из этого меню вы можете вызывать различные скрипты для выполнения рутинных операций обработки текста в текущем окне редактора. Набор доступных команд зависит от выбранного скрипта. -Окно +Окно -Довольно обычное меню. Содержит команды перехода между открытыми окнами, индивидуального и группового закрытия окон. +Довольно обычное меню. Содержит команды перехода между открытыми окнами, индивидуального и группового закрытия окон. -В зависимости от модуля расширения редактора, который вы используете, также могут присутствовать и другие команды. Так, используемый по умолчанию модуль редактора Kate позволяет разделять окно редактора по горизонтали или вертикали. +В зависимости от модуля расширения редактора, который вы используете, также могут присутствовать и другие команды. Так, используемый по умолчанию модуль редактора Kate позволяет разделять окно редактора по горизонтали или вертикали. -Сервис +Сервис -Среда обладает широкими возможностями по настройке. Можно выбрать любимый текстовый редактор и инструменты (внешние или в виде модулей), расширяющие функциональность среды. Бо́льшая часть этих возможностей собрана в данном меню. +Среда обладает широкими возможностями по настройке. Можно выбрать любимый текстовый редактор и инструменты (внешние или в виде модулей), расширяющие функциональность среды. Бо́льшая часть этих возможностей собрана в данном меню. -Комплексное редактирование -Верхняя часть меню содержит команды текущего модуля редактора. Его можно выбрать с помощью команды меню Настройка Настроить KDevelop... Редактор. +Комплексное редактирование +Верхняя часть меню содержит команды текущего модуля редактора. Его можно выбрать с помощью команды меню Настройка Настроить KDevelop... Редактор. -Работа с веб-страницами -Если текущее окно содержит страницу HTML (например, файл документации), меню будет содержать команды навигации по веб-страницам. +Работа с веб-страницами +Если текущее окно содержит страницу HTML (например, файл документации), меню будет содержать команды навигации по веб-страницам. -Другие команды -Обычно меню содержит много других команд. Это зависит от имеющихся инструментов. Используйте комбинацию клавиш &Shift; F1 для получения дополнительной информации об их назначении. +Другие команды +Обычно меню содержит много других команд. Это зависит от имеющихся инструментов. Используйте комбинацию клавиш &Shift; F1 для получения дополнительной информации об их назначении. -Настройка +Настройка -Данное меню позволяет показывать или скрывать меню, панели инструментов и строку состояния. А также настраивать комбинации клавиш, панели инструментов, уведомления, редактор и общее поведение среды. +Данное меню позволяет показывать или скрывать меню, панели инструментов и строку состояния. А также настраивать комбинации клавиш, панели инструментов, уведомления, редактор и общее поведение среды. -Справка +Справка -В этом меню можно открыть руководство пользователя KDevelop, искать термины в различных файлах документации, открывать страницы man (традиционный формат документации для UNIX) и страницы info (формат документации проекта GNU). Более того, здесь можно отправить отчёт об ошибках и получить информацию о версии программы и её авторах. +В этом меню можно открыть руководство пользователя KDevelop, искать термины в различных файлах документации, открывать страницы man (традиционный формат документации для UNIX) и страницы info (формат документации проекта GNU). Более того, здесь можно отправить отчёт об ошибках и получить информацию о версии программы и её авторах. -Назначение боковых панелей +Назначение боковых панелей -В режиме пользовательского интерфейса IDEAl рабочая область окружена тремя рядами кнопок так называемых вкладок боковых панелей. Они обеспечивают доступ к боковым панелям, которые решают основные задачи по разработке программ. Каждый из трёх рядов имеет своё назначение. +В режиме пользовательского интерфейса IDEAl рабочая область окружена тремя рядами кнопок так называемых вкладок боковых панелей. Они обеспечивают доступ к боковым панелям, которые решают основные задачи по разработке программ. Каждый из трёх рядов имеет своё назначение. -Левый ряд -Доступ к инструментам навигации и выделения. +Левый ряд +Доступ к инструментам навигации и выделения. -Нижний ряд -Окна сообщений различных инструментов. +Нижний ряд +Окна сообщений различных инструментов. -Правый ряд -Доступ к документации и инструментам сборки. +Правый ряд +Доступ к документации и инструментам сборки. -Число вкладок боковых панелей изменится после открытия проекта. Тогда будет доступно больше инструментов. Фактическое число боковых панелей зависит от доступных программе инструментов. Подробно об этом рассказано в главе «Настройка &tdevelop;». +Число вкладок боковых панелей изменится после открытия проекта. Тогда будет доступно больше инструментов. Фактическое число боковых панелей зависит от доступных программе инструментов. Подробно об этом рассказано в главе «Настройка &tdevelop;». -На данный момент, когда не открыт ни один проект и загружены модули по умолчанию, вы должны видеть следующие боковые панели. Нажатие на вкладке открывает соответствующую боковую панель. +На данный момент, когда не открыт ни один проект и загружены модули по умолчанию, вы должны видеть следующие боковые панели. Нажатие на вкладке открывает соответствующую боковую панель. -Перемещение и выделение +Перемещение и выделение -Файлы -Панель для перемещения по дереву каталогов и выбора файлов для работы, как в &konqueror;. Нажатие левой кнопки мыши на файле открывает его в окне редактора. Нажатие правой кнопкой мыши в области выбора файлов открывает контекстное меню с командами перемещения и управления файлом. +Файлы +Панель для перемещения по дереву каталогов и выбора файлов для работы, как в &konqueror;. Нажатие левой кнопки мыши на файле открывает его в окне редактора. Нажатие правой кнопкой мыши в области выбора файлов открывает контекстное меню с командами перемещения и управления файлом. -Окна -Список окон с файлами, открытых в данный момент. Нажатие левой кнопкой мыши на окне в списке активирует окно в рабочей области. Используйте эту функцию для быстрой навигации по большому количеству открытых файлов. Более того, это окно — средство организации открытых файлов в сеанс. Это полезно в очень больших и сложных проектах, помогая разработчику концентрироваться на разных задачах. Нажатие правой кнопкой на окне открывает контекстное меню для управления файлом в окне. +Окна +Список окон с файлами, открытых в данный момент. Нажатие левой кнопкой мыши на окне в списке активирует окно в рабочей области. Используйте эту функцию для быстрой навигации по большому количеству открытых файлов. Более того, это окно — средство организации открытых файлов в сеанс. Это полезно в очень больших и сложных проектах, помогая разработчику концентрироваться на разных задачах. Нажатие правой кнопкой на окне открывает контекстное меню для управления файлом в окне. -Окна сообщений +Окна сообщений -Приложение -Показывает вывод приложения, запущенного в среде. +Приложение +Показывает вывод приложения, запущенного в среде. -Diff -Показывает содержимое файла исправлений или вывод инструмента определения различий, запускаемого командой СервисОкно просмотра различий.... +Diff +Показывает содержимое файла исправлений или вывод инструмента определения различий, запускаемого командой СервисОкно просмотра различий.... -Сообщения -Показывает сообщения, сгенерированные вызванными из среды инструментами сборки (см. меню Сборка). +Сообщения +Показывает сообщения, сгенерированные вызванными из среды инструментами сборки (см. меню Сборка). -Поиск в файлах -Показывает список элементов, найденных во время операции глобального поиска, запущенного командой меню Правка Найти в файлах.... Нажатие левой кнопкой мыши на строке автоматически показывает место файла, содержащее найденное, в окне редактора. +Поиск в файлах +Показывает список элементов, найденных во время операции глобального поиска, запущенного командой меню Правка Найти в файлах.... Нажатие левой кнопкой мыши на строке автоматически показывает место файла, содержащее найденное, в окне редактора. -Заменить -Показывает список результатов глобального поиска с заменой, выполненного командой меню Правка Поиск-выбор-замена.... В этом окне можно принять окончательное решение, что из найденного заменять. +Заменить +Показывает список результатов глобального поиска с заменой, выполненного командой меню Правка Поиск-выбор-замена.... В этом окне можно принять окончательное решение, что из найденного заменять. -Глобальный поиск с заменой доступен только после загрузки проекта. В противном случае команда меню Правка Поиск-выбор-замена... будет неактивна. +Глобальный поиск с заменой доступен только после загрузки проекта. В противном случае команда меню Правка Поиск-выбор-замена... будет неактивна. -Konsole -Окно эмулятора терминала Konsole, где можно вводить команды традиционного для &UNIX; интерфейса командной строки. +Konsole +Окно эмулятора терминала Konsole, где можно вводить команды традиционного для &UNIX; интерфейса командной строки. -Документация и управление сборкой +Документация и управление сборкой -Документация -Предоставляет удалённый доступ ко всей документации в структурированном виде. А также несколько видов прямого доступа к руководствам по &kde; или &Qt;. +Документация +Предоставляет удалённый доступ ко всей документации в структурированном виде. А также несколько видов прямого доступа к руководствам по &kde; или &Qt;. -См. главы «Документация» и «Настройка документации». +См. главы «Документация» и «Настройка документации». -Заготовки -Коллекция текстовых заготовок для повторного использования во время редактирования. Заготовки могут иметь параметры. +Заготовки +Коллекция текстовых заготовок для повторного использования во время редактирования. Заготовки могут иметь параметры. -См. главы «Заготовки кода» и «Настройка заготовок кода». +См. главы «Заготовки кода» и «Настройка заготовок кода». @@ -777,37 +433,18 @@ Keep lines at 80 characters length maximum. -Немного настройки +Немного настройки -Перед тем, как начать первый проект, нам нужно подогнать поведение среды под наши нужды. Хотя значения большинства параметров подходит большинству, некоторые стоит подправить. +Перед тем, как начать первый проект, нам нужно подогнать поведение среды под наши нужды. Хотя значения большинства параметров подходит большинству, некоторые стоит подправить. -Более подробно настройка среды освещена в главе «Настройка &tdevelop;». +Более подробно настройка среды освещена в главе «Настройка &tdevelop;». -Главное - -Для настройки выберите команду меню Настройка Настроить KDevelop.... Она откроет диалог Настройка KDevelop с разделом Главное. +Главное + +Для настройки выберите команду меню Настройка Настроить KDevelop.... Она откроет диалог Настройка KDevelop с разделом Главное. @@ -815,149 +452,74 @@ Keep lines at 80 characters length maximum. -Диалог настройки &tdevelop; +Диалог настройки &tdevelop; -Большинство параметров по умолчанию должны вас устроить, но, возможно, вы захотите некоторые из них изменить. +Большинство параметров по умолчанию должны вас устроить, но, возможно, вы захотите некоторые из них изменить. -Каталог проектов по умолчанию -При первом запуске среда, скорее всего, настроена на ваш домашний каталог. Однако большинство пользователей предпочитает иметь специальный каталог для хранения своих проектов. Введите в это поле название корневого каталога, в котором хотите хранить свои проекты. Также его можно выбрать в дереве каталогов, если нажать справа кнопку «Выбор файла или папки» со значком папки. +Каталог проектов по умолчанию +При первом запуске среда, скорее всего, настроена на ваш домашний каталог. Однако большинство пользователей предпочитает иметь специальный каталог для хранения своих проектов. Введите в это поле название корневого каталога, в котором хотите хранить свои проекты. Также его можно выбрать в дереве каталогов, если нажать справа кнопку «Выбор файла или папки» со значком папки. -В наших примерах мы будем использовать выдуманное имя пользователя devel. Заменяйте его своим. Наш пользователь будет использовать каталог /home/devel/projects как каталог проектов. Название projects тоже заменяйте названием своего каталога для проектов. +В наших примерах мы будем использовать выдуманное имя пользователя devel. Заменяйте его своим. Наш пользователь будет использовать каталог /home/devel/projects как каталог проектов. Название projects тоже заменяйте названием своего каталога для проектов. -По умолчанию для каждого нового проекта среда создаёт отдельный подкаталог в каталоге проектов. Например, в нашем случае все файлы проекта «Hello» будут располагаться в каталоге /home/devel/projects/hello. +По умолчанию для каждого нового проекта среда создаёт отдельный подкаталог в каталоге проектов. Например, в нашем случае все файлы проекта «Hello» будут располагаться в каталоге /home/devel/projects/hello. -Конечно, при необходимости вы можете временно переопределить каталоги. См. главу «&appwizard;». +Конечно, при необходимости вы можете временно переопределить каталоги. См. главу «&appwizard;». -Вывод компилятора -Когда среда компилирует исходный текст, сообщения make и других инструментов сборки будут выводиться в окно Сообщения в нижней части рабочей области. Обычно эти сообщения очень многословны. Для большего удобства просмотра имеются встроенные средства их сокращения. +Вывод компилятора +Когда среда компилирует исходный текст, сообщения make и других инструментов сборки будут выводиться в окно Сообщения в нижней части рабочей области. Обычно эти сообщения очень многословны. Для большего удобства просмотра имеются встроенные средства их сокращения. -В зависимости от используемой вами версии среды параметр Вывод компилятора может иметь предустановленное значение «Полный», в этом режиме сообщения выводятся полностью. Если он для вас не удобен, выберите режим «Очень краткий» из выпадающего списка. +В зависимости от используемой вами версии среды параметр Вывод компилятора может иметь предустановленное значение «Полный», в этом режиме сообщения выводятся полностью. Если он для вас не удобен, выберите режим «Очень краткий» из выпадающего списка. -Имейте в виду, в этом режиме в окне Сообщения будет показываться только самая основная информация. В случае возникновения ошибок (во время сборки, например), скорее всего, вы захотите видеть, если не полные, то значительно более подробные сообщения. Полное содержание сообщений не теряется. Его можно увидеть с помощью команды «Полный вывод компилятора» контекстного меню окна Сообщения. +Имейте в виду, в этом режиме в окне Сообщения будет показываться только самая основная информация. В случае возникновения ошибок (во время сборки, например), скорее всего, вы захотите видеть, если не полные, то значительно более подробные сообщения. Полное содержание сообщений не теряется. Его можно увидеть с помощью команды «Полный вывод компилятора» контекстного меню окна Сообщения. -Создание индекса для поиска в документации +Создание индекса для поиска в документации -Существует другой, не такой очевидный, элемент, который должен быть создан перед началом работы над проектом — индекс документации. Он необходим среде для выполнения поиска по документации. Во время работы над проектом поиск будет нужен вам постоянно. Поэтому, давайте, заранее его создадим. +Существует другой, не такой очевидный, элемент, который должен быть создан перед началом работы над проектом — индекс документации. Он необходим среде для выполнения поиска по документации. Во время работы над проектом поиск будет нужен вам постоянно. Поэтому, давайте, заранее его создадим. -Откройте боковую панель Документация в правой части главного окна и откройте на ней вкладку Поиск. +Откройте боковую панель Документация в правой части главного окна и откройте на ней вкладку Поиск. -Вкладка создания поискового индекса. +Вкладка создания поискового индекса. -Теперь нажмите кнопку Обновить конфигурацию, чтобы убедиться, что основные инструменты поиска установлены правильно. Должен появиться диалог с сообщением «Конфигурационный файл обновлён». Нажмите кнопку OK и он исчезнет. +Теперь нажмите кнопку Обновить конфигурацию, чтобы убедиться, что основные инструменты поиска установлены правильно. Должен появиться диалог с сообщением «Конфигурационный файл обновлён». Нажмите кнопку OK и он исчезнет. -Теперь среда готова к обработке известной ей документации и созданию индекса. Нажмите кнопку Обновить индекс справа. Появится диалог Создаётся индекс поиска, показывающий степень выполнения операции создания индекса. +Теперь среда готова к обработке известной ей документации и созданию индекса. Нажмите кнопку Обновить индекс справа. Появится диалог Создаётся индекс поиска, показывающий степень выполнения операции создания индекса. -Среда создаёт индекс для поиска в документации. +Среда создаёт индекс для поиска в документации. -Этот процесс может занять определённое время в зависимости от объёма документации и мощности вашей машины. В конце концов кнопка Отмена будет заменена кнопкой OK. Нажмите её для продолжения. +Этот процесс может занять определённое время в зависимости от объёма документации и мощности вашей машины. В конце концов кнопка Отмена будет заменена кнопкой OK. Нажмите её для продолжения. -Обычно это работает идеально. Но в некоторых случаях программа htdig, которая используется средой для выполнения полнотекстового поиска, может быть неправильно настроена. См. главу «Индексирование документации». +Обычно это работает идеально. Но в некоторых случаях программа htdig, которая используется средой для выполнения полнотекстового поиска, может быть неправильно настроена. См. главу «Индексирование документации». -Чтобы была возможность осуществлять поиск по API &kde; и &Qt;, KDELibs Apidocs должны быть установлены до установки &tdevelop;. Если у вас проблемы с генерацией индекса или выполнением примеров поиска идентификаторов ниже в этой главе, убедитесь, что эта документация существует и доступна среде. См. Установка &tdevelop;. +Чтобы была возможность осуществлять поиск по API &kde; и &Qt;, KDELibs Apidocs должны быть установлены до установки &tdevelop;. Если у вас проблемы с генерацией индекса или выполнением примеров поиска идентификаторов ниже в этой главе, убедитесь, что эта документация существует и доступна среде. См. Установка &tdevelop;. @@ -966,93 +528,46 @@ Keep lines at 80 characters length maximum. -Создание проекта +Создание проекта -Почти каждое приложение состоит из десятков, сотен, и даже тысяч файлов, которые нужно содержать в структурированном, удобном для обработки виде. Для решения этой проблемы среда использует концепцию проектов. Поэтому, приступая к разработке в среде, обычно первым делом создают проект. +Почти каждое приложение состоит из десятков, сотен, и даже тысяч файлов, которые нужно содержать в структурированном, удобном для обработки виде. Для решения этой проблемы среда использует концепцию проектов. Поэтому, приступая к разработке в среде, обычно первым делом создают проект. -К счастью, это очень легко. Для этого в среде имеется так называемый Мастер проектов (см. главу "Начало работы — создание проекта"). +К счастью, это очень легко. Для этого в среде имеется так называемый Мастер проектов (см. главу "Начало работы — создание проекта"). -Теперь приступим к созданию простого проекта, чтобы увидеть, как просто это делается, и какие файлы и инструменты для этого имеются. Рассмотрим следующие темы: +Теперь приступим к созданию простого проекта, чтобы увидеть, как просто это делается, и какие файлы и инструменты для этого имеются. Рассмотрим следующие темы: -Создание нового проекта с помощью мастера. -Файлы, создаваемые в проекте. -Дополнительные боковые панели, показываемые при открытом проекте. +Создание нового проекта с помощью мастера. +Файлы, создаваемые в проекте. +Дополнительные боковые панели, показываемые при открытом проекте. -Создание нового проекта +Создание нового проекта -Давайте, создадим простой проект приложения &kde; «Hello World». Для этого выполните следующие действия: +Давайте, создадим простой проект приложения &kde; «Hello World». Для этого выполните следующие действия: -Запустите мастер командой меню Проект Создать проект.... +Запустите мастер командой меню Проект Создать проект.... -Появится диалог Новый проект. Вверху на вкладке Все проекты находится список языков программирования. +Появится диалог Новый проект. Вверху на вкладке Все проекты находится список языков программирования. -Мы хотим создать C++ приложение для &kde;, поэтому нажмите на + слева от C++, чтобы открыть эту ветвь. +Мы хотим создать C++ приложение для &kde;, поэтому нажмите на + слева от C++, чтобы открыть эту ветвь. -Ветвь содержит список возможных типов приложений на этом языке. Мы будем собирать приложение для &kde;, поэтому откройте подраздел, нажав + рядом с KDE +Ветвь содержит список возможных типов приложений на этом языке. Мы будем собирать приложение для &kde;, поэтому откройте подраздел, нажав + рядом с KDE -Теперь вам предлагаются несколько шаблонов проекта. Перейдите в конец ветви и выберите Простое приложение KDE с формой. +Теперь вам предлагаются несколько шаблонов проекта. Перейдите в конец ветви и выберите Простое приложение KDE с формой. -Справа будет показан предварительный вид приложения и его краткое описание. +Справа будет показан предварительный вид приложения и его краткое описание. @@ -1060,59 +575,31 @@ Keep lines at 80 characters length maximum. -Выбор шаблона для проекта «Hello World» +Выбор шаблона для проекта «Hello World» - + -Нашему приложению нужно название. Найдите блок Свойства внизу диалога и введите подходящее название в поле Имя приложения. - -В нашем примере это «Hello», но вы можете использовать любое, какое вам нравится. Главное, чтобы в названии содержались только буквы, цифры и символы подчёркивания. Мастер никакие другие символы в названии не принимает. +Нашему приложению нужно название. Найдите блок Свойства внизу диалога и введите подходящее название в поле Имя приложения. + +В нашем примере это «Hello», но вы можете использовать любое, какое вам нравится. Главное, чтобы в названии содержались только буквы, цифры и символы подчёркивания. Мастер никакие другие символы в названии не принимает. -Убедитесь, что текстовое поле Расположение внизу содержит название каталога ваших проектов, установленного в главе «Немного настройки». Если это не так, введите его или выберите из списка каталогов, открываемого кнопкой с изображением папки справа от поля ввода. - -Если всё сделано правильно, надпись Конечное расположение внизу будет показывать путь к каталогу проекта. Если же к нему добавлено слово «(неверно)», попробуйте другое название проекта и/или проверьте наличие каталога проектов в файловой системе и пра́ва записи в него. +Убедитесь, что текстовое поле Расположение внизу содержит название каталога ваших проектов, установленного в главе «Немного настройки». Если это не так, введите его или выберите из списка каталогов, открываемого кнопкой с изображением папки справа от поля ввода. + +Если всё сделано правильно, надпись Конечное расположение внизу будет показывать путь к каталогу проекта. Если же к нему добавлено слово «(неверно)», попробуйте другое название проекта и/или проверьте наличие каталога проектов в файловой системе и пра́ва записи в него. -Если нет никаких ошибок, кнопка Далее внизу диалога становится активной. Нажмите её для продолжения. +Если нет никаких ошибок, кнопка Далее внизу диалога становится активной. Нажмите её для продолжения. -Вы перейдёте на шаг Параметры проекта. Проверьте правильность полей Автор и Электронная почта. Обычно по умолчанию они содержат параметры пользователя &kde; (см. диалог Профиль пользователя Центра управления KDE). Измените их, если они вас не устраивают. +Вы перейдёте на шаг Параметры проекта. Проверьте правильность полей Автор и Электронная почта. Обычно по умолчанию они содержат параметры пользователя &kde; (см. диалог Профиль пользователя Центра управления KDE). Измените их, если они вас не устраивают. @@ -1120,62 +607,32 @@ Keep lines at 80 characters length maximum. -Введите ваше имя и (не обязательно) адрес электронной почты. +Введите ваше имя и (не обязательно) адрес электронной почты. -Вы должны по крайней мере ввести значение поля Автор. Это обязательно. Оно необходимо для подготовки файлов приложения. +Вы должны по крайней мере ввести значение поля Автор. Это обязательно. Оно необходимо для подготовки файлов приложения. -Если нет никаких ошибок, кнопка Далее станет активной. Нажмите её для продолжения. +Если нет никаких ошибок, кнопка Далее станет активной. Нажмите её для продолжения. -Шаги Система управления версиями, Шаблон для файлов .h и Шаблон для файлов .cpp пока не представляют интереса. Пропустите их, нажимая кнопку Далее и кнопку Готово на последнем шаге. +Шаги Система управления версиями, Шаблон для файлов .h и Шаблон для файлов .cpp пока не представляют интереса. Пропустите их, нажимая кнопку Далее и кнопку Готово на последнем шаге. -Вот и всё! Мастер создаст набор начальных файлов в каталоге Конечное расположение (см. пункт 2с). - -Когда создание файлов завершится, среда откроет окно редактора для файла реализации главного окна приложения (в нашем примере это файл hello.cpp), чтобы вы могли сразу же приняться за работу. +Вот и всё! Мастер создаст набор начальных файлов в каталоге Конечное расположение (см. пункт 2с). + +Когда создание файлов завершится, среда откроет окно редактора для файла реализации главного окна приложения (в нашем примере это файл hello.cpp), чтобы вы могли сразу же приняться за работу. -Начальные файлы +Начальные файлы -Хотя наш проект довольно простой, мастер создал целую группу файлов исходного кода и управления проектом. Вы можете их легко увидеть, если откроете боковую панель Файлы слева внизу. Его содержание показано на иллюстрации ниже. +Хотя наш проект довольно простой, мастер создал целую группу файлов исходного кода и управления проектом. Вы можете их легко увидеть, если откроете боковую панель Файлы слева внизу. Его содержание показано на иллюстрации ниже. @@ -1183,72 +640,40 @@ Keep lines at 80 characters length maximum. -Начальные файлы нашего проекта +Начальные файлы нашего проекта -Для демонстрации файлов, созданных мастером, мы открыли бо́льшую часть ветвей в боковой панели Файлы слева. Ветвь открывается простым нажатием левой кнопкой мыши на её названии в дереве. +Для демонстрации файлов, созданных мастером, мы открыли бо́льшую часть ветвей в боковой панели Файлы слева. Ветвь открывается простым нажатием левой кнопкой мыши на её названии в дереве. -С этой же целью справа мы открыли ветви в боковой панели Проект Automake, где перечислены некоторые файлы исходного кода проекта. +С этой же целью справа мы открыли ветви в боковой панели Проект Automake, где перечислены некоторые файлы исходного кода проекта. -Указание авторских прав - -Все приложения, удовлетворяющие требованиям проекта &GNU;, должны быть обеспечены авторскими правами. Уведомление о них требуется в файлах исходного кода и во время выполнения приложения. Мастер уже поместил соответствующую информацию об авторских правах и лицензировании в файлы проекта. - - -Сведения об авторских правах в файлах исходного кода. -Помните шаг «Параметры проекта» во время создания нового проекта? Там нужно было предоставить ваше имя и адрес электронной почты, как разработчика. Теперь посмотрите на верхнюю часть окна редактирования файла hello.cpp. Мастер поместил их в заголовок лицензирования каждого созданного файла исходного кода. - - -/*************************************************************************** +Указание авторских прав + +Все приложения, удовлетворяющие требованиям проекта &GNU;, должны быть обеспечены авторскими правами. Уведомление о них требуется в файлах исходного кода и во время выполнения приложения. Мастер уже поместил соответствующую информацию об авторских правах и лицензировании в файлы проекта. + + +Сведения об авторских правах в файлах исходного кода. +Помните шаг «Параметры проекта» во время создания нового проекта? Там нужно было предоставить ваше имя и адрес электронной почты, как разработчика. Теперь посмотрите на верхнюю часть окна редактирования файла hello.cpp. Мастер поместил их в заголовок лицензирования каждого созданного файла исходного кода. + + +/*************************************************************************** * Copyright (C) 2006 by Joe User * * joe@user.com * * * * This program is free software; you can redistribute it and/or modify * -Этот заголовок добавляется во все файлы исходного кода, которые создаются в среде. Среда хранит эти параметры в файлах шаблонов (в каталоге templates). +Этот заголовок добавляется во все файлы исходного кода, которые создаются в среде. Среда хранит эти параметры в файлах шаблонов (в каталоге templates). -Информация об авторских правах во время выполнения приложения -Во время работы приложения &kde; пользователь может посмотреть информацию о программе (обычно через меню Справка). Необходимый для этого код автоматически генерируется средой. Он находится в файле main.cpp. См. пример ниже: +Информация об авторских правах во время выполнения приложения +Во время работы приложения &kde; пользователь может посмотреть информацию о программе (обычно через меню Справка). Необходимый для этого код автоматически генерируется средой. Он находится в файле main.cpp. См. пример ниже: -int main(int argc, char **argv) +int main(int argc, char **argv) { TDEAboutData about("hello", I18N_NOOP("Hello"), version, description, TDEAboutData::License_GPL, "(C) 2006 Joe User", 0, 0, @@ -1256,232 +681,105 @@ Keep lines at 80 characters length maximum. about.addAuthor( "Joe User", 0, "joe@user.com" ); -Он добавляет имя главного разработчика (в нашем случае «Joe User») и адрес электронной почты на вкладку с информацией об авторских правах и вкладку Авторы диалога О программе. +Он добавляет имя главного разработчика (в нашем случае «Joe User») и адрес электронной почты на вкладку с информацией об авторских правах и вкладку Авторы диалога О программе. -Делая значительные изменения существующего проекта, убедитесь, что ввели своё имя и адрес электронной почты в уведомление об авторских правах каждого изменённого файла и диалог About. Не стесняйтесь, этим вы помогаете сообщество свободного программного обеспечения. +Делая значительные изменения существующего проекта, убедитесь, что ввели своё имя и адрес электронной почты в уведомление об авторских правах каждого изменённого файла и диалог About. Не стесняйтесь, этим вы помогаете сообщество свободного программного обеспечения. -Начальные файлы исходного кода - -Мастер поместил исходные файлы в подкаталог src каталога проекта. Как вы, возможно, и ожидали, там находятся main.cpp, hello.h и hello.cpp. - -В типичном приложении &kde; есть несколько дополнительных файлов, а именно: +Начальные файлы исходного кода + +Мастер поместил исходные файлы в подкаталог src каталога проекта. Как вы, возможно, и ожидали, там находятся main.cpp, hello.h и hello.cpp. + +В типичном приложении &kde; есть несколько дополнительных файлов, а именно: -hello.desktop — метаданные для интеграции приложения в &kde;. +hello.desktop — метаданные для интеграции приложения в &kde;. -hi16-app-hello.png и hi32-app-hello.png — значки приложения (по умолчанию). +hi16-app-hello.png и hi32-app-hello.png — значки приложения (по умолчанию). -helloui.rc — описание интерфейса пользователя (на данный момент меню). +helloui.rc — описание интерфейса пользователя (на данный момент меню). -Начальная документация приложения - -В подкаталоге doc/en находится файл index.docbook. Это шаблон для создания пользовательской документации. +Начальная документация приложения + +В подкаталоге doc/en находится файл index.docbook. Это шаблон для создания пользовательской документации. -Проектные и вспомогательные файлы +Проектные и вспомогательные файлы -На боковой панели Файлы те файлы, с которыми мы познакомились, выделены полужирным шрифтом. В то же время, большинство других — нет. Это означает, что они предназначены для совершенно других целей. Их содержание оказывает непосредственное влияние на приложение. В файлах исходного кода хранится исполняемый код приложения, в остальных — необходимые данные или документация. Эти файлы должны обслуживаться и в определённом порядке обрабатываться во время сборки проекта. Поэтому они называются проектные файлы. +На боковой панели Файлы те файлы, с которыми мы познакомились, выделены полужирным шрифтом. В то же время, большинство других — нет. Это означает, что они предназначены для совершенно других целей. Их содержание оказывает непосредственное влияние на приложение. В файлах исходного кода хранится исполняемый код приложения, в остальных — необходимые данные или документация. Эти файлы должны обслуживаться и в определённом порядке обрабатываться во время сборки проекта. Поэтому они называются проектные файлы. -Список всех проектных файлов можно увидеть в окне Проект Automake внизу справа на рабочей области. Как мы скоро увидим, &automanag; использует их содержание для управления сборкой. +Список всех проектных файлов можно увидеть в окне Проект Automake внизу справа на рабочей области. Как мы скоро увидим, &automanag; использует их содержание для управления сборкой. -Файлы, не выделенные полужирным шрифтом, имеют второстепенное значение и принадлежат нескольким различным классам: +Файлы, не выделенные полужирным шрифтом, имеют второстепенное значение и принадлежат нескольким различным классам: -Управление сборкой проекта -Файлы этого класса управляют компиляцией, установкой, созданием документации и так далее. Если проект использует механизм &GNU; autotools, как в нашем примере, то в каждом его каталоге будет лежать файл Makefile.am. Это разновидность файлов для утилиты make, содержащие правила сборки. Они будут обрабатываться вместе с различными файлами программы configure во время сборки. В результате в каждом каталоге будет создан окончательный файл Makefile. Этот файл содержит правила для утилиты make, с помощью которых она будет создавать двоичные файлы приложения. - - -За содержанием файлов Makefile.am нужно следить во время всего процесса разработки. К счастью, среда с помощью инструмента &automanag; почти полностью избавляет вас от этой проблемы. В своей основе &automanag; — графическая оболочка для работы с содержанием файла Makefile.am. - -Остальные файлы управления сборкой проекта — configure.in.in и subdirs — лежат в корневом каталоге проекта. Они будут обрабатываться определёнными файлами из специального каталога администрирования &kde; (admin) для создания файлов configure и Makefile и последующей сборки двоичных файлов приложения. - - - - -Файлы управления средой -Среда сама нуждается в некоторых управляющих файлах. Они находятся в корневом каталоге проекта. в нашем примере это hello.tdevelop, hello.tdevelop.pcs и hello.kdevses. - - -Особенно важен файл xxx.tdevelop (где «xxx» — название проекта). Это главный файл проекта KDevelop. Он необходим для загрузки проекта в среду. +Управление сборкой проекта +Файлы этого класса управляют компиляцией, установкой, созданием документации и так далее. Если проект использует механизм &GNU; autotools, как в нашем примере, то в каждом его каталоге будет лежать файл Makefile.am. Это разновидность файлов для утилиты make, содержащие правила сборки. Они будут обрабатываться вместе с различными файлами программы configure во время сборки. В результате в каждом каталоге будет создан окончательный файл Makefile. Этот файл содержит правила для утилиты make, с помощью которых она будет создавать двоичные файлы приложения. + + +За содержанием файлов Makefile.am нужно следить во время всего процесса разработки. К счастью, среда с помощью инструмента &automanag; почти полностью избавляет вас от этой проблемы. В своей основе &automanag; — графическая оболочка для работы с содержанием файла Makefile.am. + +Остальные файлы управления сборкой проекта — configure.in.in и subdirs — лежат в корневом каталоге проекта. Они будут обрабатываться определёнными файлами из специального каталога администрирования &kde; (admin) для создания файлов configure и Makefile и последующей сборки двоичных файлов приложения. + + + + +Файлы управления средой +Среда сама нуждается в некоторых управляющих файлах. Они находятся в корневом каталоге проекта. в нашем примере это hello.tdevelop, hello.tdevelop.pcs и hello.kdevses. + + +Особенно важен файл xxx.tdevelop (где «xxx» — название проекта). Это главный файл проекта KDevelop. Он необходим для загрузки проекта в среду. -Никогда не изменяйте, не переименовывайте и, тем более, не удаляйте эти файлы вручную! Иначе среда, скорее всего, не сможет правильно работать с проектом. +Никогда не изменяйте, не переименовывайте и, тем более, не удаляйте эти файлы вручную! Иначе среда, скорее всего, не сможет правильно работать с проектом. -Файлы описания проекта GNU -Для любого приложения, удовлетворяющего требованиям проекта &GNU;, в корневом каталоге проекта обязательно должны присутствовать несколько файлов: AUTHORS, ChangeLog, INSTALL, COPYING (содержит текст лицензии GNU GPL); INSTALL, NEWS, README и TODO. +Файлы описания проекта GNU +Для любого приложения, удовлетворяющего требованиям проекта &GNU;, в корневом каталоге проекта обязательно должны присутствовать несколько файлов: AUTHORS, ChangeLog, INSTALL, COPYING (содержит текст лицензии GNU GPL); INSTALL, NEWS, README и TODO. -Другие файлы -Несколько не упомянутых ранее файлов: +Другие файлы +Несколько не упомянутых ранее файлов: -Doxyfile. Управляет созданием документации по &API; проекта. +Doxyfile. Управляет созданием документации по &API; проекта. -Каталог templates содержит шаблоны файлов, которые среда использует как заготовки для создания новых исходных файлов. Вы можете в любое время их изменить. Новое содержание будет использовано при последующем создании исходных файлов соответствующих типов. +Каталог templates содержит шаблоны файлов, которые среда использует как заготовки для создания новых исходных файлов. Вы можете в любое время их изменить. Новое содержание будет использовано при последующем создании исходных файлов соответствующих типов. -Например, можно выровнять звёздочки на концах строк, сообщающих об авторских правах, которые мастер вставил в шаблоны файлов cpp и h, чтобы создаваемые исходные файлы выглядели более опрятно. +Например, можно выровнять звёздочки на концах строк, сообщающих об авторских правах, которые мастер вставил в шаблоны файлов cpp и h, чтобы создаваемые исходные файлы выглядели более опрятно. -Каталог po предназначен для локализации приложения. Это существенная часть файлов проекта (содержит файл Makefile.am), но, в основном, они используются в процессе перевода, который не особенно интересует разработчика приложения. +Каталог po предназначен для локализации приложения. Это существенная часть файлов проекта (содержит файл Makefile.am), но, в основном, они используются в процессе перевода, который не особенно интересует разработчика приложения. -Каталог admin. Он нужен приложениям &kde;. так как нём хранятся файлы, необходимые для обслуживания исходного кода и двоичных файлов приложения, а также для их правильной интеграции в среду &kde;. +Каталог admin. Он нужен приложениям &kde;. так как нём хранятся файлы, необходимые для обслуживания исходного кода и двоичных файлов приложения, а также для их правильной интеграции в среду &kde;. @@ -1491,154 +789,102 @@ Keep lines at 80 characters length maximum. -Дополнительные боковые панели +Дополнительные боковые панели -Когда мастер создаст новый проект, вы увидите, что появились несколько дополнительных боковых панелей. Они имеют значение только во время работы с проектом и обеспечивают следующую функциональность. +Когда мастер создаст новый проект, вы увидите, что появились несколько дополнительных боковых панелей. Они имеют значение только во время работы с проектом и обеспечивают следующую функциональность. -Конкретный набор боковых панелей зависит от того, какие дополнительные модули загружены в среду. Этим можно управлять. О том, как это делать, читайте раздел "Подключаемый инструментарий". +Конкретный набор боковых панелей зависит от того, какие дополнительные модули загружены в среду. Этим можно управлять. О том, как это делать, читайте раздел "Подключаемый инструментарий". -Инструменты перемещения и выделения (левая сторона) +Инструменты перемещения и выделения (левая сторона) -Закладки -Вы можете ставить закладку на любую строку текстового файла для быстрого возврата к ней. Среда будет помнить все закладки даже после закрытия окна редактора. Данная боковая панель содержит список всех закладок по имени файла и номеру строки. Вы просто нажимаете левой кнопкой мыши на закладку в списке и нужное место файла открывается в окне редактора. +Закладки +Вы можете ставить закладку на любую строку текстового файла для быстрого возврата к ней. Среда будет помнить все закладки даже после закрытия окна редактора. Данная боковая панель содержит список всех закладок по имени файла и номеру строки. Вы просто нажимаете левой кнопкой мыши на закладку в списке и нужное место файла открывается в окне редактора. -Классы -Список классов, методов и так далее, содержащихся в проекте. Нажатие левой кнопкой мыши на элементе списка открывает соответствующий заголовочный файл или файл реализации в окне редактора и перемещает курсор на соответствующее объявление или определение. +Классы +Список классов, методов и так далее, содержащихся в проекте. Нажатие левой кнопкой мыши на элементе списка открывает соответствующий заголовочный файл или файл реализации в окне редактора и перемещает курсор на соответствующее объявление или определение. -Группы -С помощью этой боковой панели можно объединять файлы проекта в различные группы: исходный код, интерфейс пользователя, значки, переводы и т.п. Нажатие левой кнопкой мыши на файле в группе открывает его в окне редактора. +Группы +С помощью этой боковой панели можно объединять файлы проекта в различные группы: исходный код, интерфейс пользователя, значки, переводы и т.п. Нажатие левой кнопкой мыши на файле в группе открывает его в окне редактора. -Переменные -Используется отладчиком для показа, вычисления и наблюдения значений переменных во время отладки. +Переменные +Используется отладчиком для показа, вычисления и наблюдения значений переменных во время отладки. -Сообщения (нижняя сторона) +Сообщения (нижняя сторона) -Valgrind -Результаты программы Valgrind (средство анализа программы во время выполнения). Используется, например, для поиска утечек памяти. +Valgrind +Результаты программы Valgrind (средство анализа программы во время выполнения). Используется, например, для поиска утечек памяти. -Безопасность -Модуль Проверка безопасности выводит на эту боковую панель предупреждения о наличии в текущем файле исходного кода типичных проблем безопасности. +Безопасность +Модуль Проверка безопасности выводит на эту боковую панель предупреждения о наличии в текущем файле исходного кода типичных проблем безопасности. -Точки останова -Панель для управления точками останова в файлах исходного кода. Используется в вместе с отладчиком. +Точки останова +Панель для управления точками останова в файлах исходного кода. Используется в вместе с отладчиком. -CTags -Панель для работы с базой данных идентификаторов. С её помощью можно искать идентификаторы в файлах исходного кода. Для создания базы используется программа CTags. Результаты поиска объединяются в список. Нажатие левой кнопкой мыши на элементе списка открывает в окне редактора файл с идентификатором. +CTags +Панель для работы с базой данных идентификаторов. С её помощью можно искать идентификаторы в файлах исходного кода. Для создания базы используется программа CTags. Результаты поиска объединяются в список. Нажатие левой кнопкой мыши на элементе списка открывает в окне редактора файл с идентификатором. -Проблемы -Среда отслеживает типичные проблемы программирования в редактируемом файле исходного кода и выводит предупреждения на эту боковую панель. +Проблемы +Среда отслеживает типичные проблемы программирования в редактируемом файле исходного кода и выводит предупреждения на эту боковую панель. -Управление исходным кодом (правая сторона) +Управление исходным кодом (правая сторона) -Проект Automake -Инструмент &automanag; — это графическая оболочка для работы с содержанием файлов Makefile.am, расположенных в каждом каталоге проекта. Он имеет два поля управления. Верхнее показывает часть подкаталогов проекта, которые содержат проектные файлы. Каждый такой подкаталог должен иметь файл Makefile.am. В &automanag; он называется подпроект. - - -Нажатие левой кнопкой мыши на подпроекте показывает его проектные файлы в нижнем поле. Файлы группируются в соответствии их ролью в файле Makefile.am данного подпроекта. - -&automanag; — очень мощный инструмент для управления проектом и его подпроектами, а также функциями проектных файлов в процессе сборки приложения. Ниже мы рассмотрим его основные особенности. Более подробное описание в главе «Сборка и управление проектом». +Проект Automake +Инструмент &automanag; — это графическая оболочка для работы с содержанием файлов Makefile.am, расположенных в каждом каталоге проекта. Он имеет два поля управления. Верхнее показывает часть подкаталогов проекта, которые содержат проектные файлы. Каждый такой подкаталог должен иметь файл Makefile.am. В &automanag; он называется подпроект. + + +Нажатие левой кнопкой мыши на подпроекте показывает его проектные файлы в нижнем поле. Файлы группируются в соответствии их ролью в файле Makefile.am данного подпроекта. + +&automanag; — очень мощный инструмент для управления проектом и его подпроектами, а также функциями проектных файлов в процессе сборки приложения. Ниже мы рассмотрим его основные особенности. Более подробное описание в главе «Сборка и управление проектом». @@ -1647,284 +893,148 @@ Keep lines at 80 characters length maximum. -Советы по работе с документами. +Советы по работе с документами. -В нашем примере &appwizard; оставил файл hello.cpp открытым в окне редактора, чтобы вы могли немедленно приступить к работе. Мы предполагаем, что вы умеете пользоваться редактором, поэтому не будем вдаваться в подробности. Однако среда обладает несколькими полезными функциями для управления окнами редактора и документами. Их мы и рассмотрим. +В нашем примере &appwizard; оставил файл hello.cpp открытым в окне редактора, чтобы вы могли немедленно приступить к работе. Мы предполагаем, что вы умеете пользоваться редактором, поэтому не будем вдаваться в подробности. Однако среда обладает несколькими полезными функциями для управления окнами редактора и документами. Их мы и рассмотрим. -Быстрое переключение между заголовочным файлом и файлом реализации. -Быстрый доступ к объявлениям и определениям. -Упорядочение окон редактора. -Отслеживание типичных проблем. +Быстрое переключение между заголовочным файлом и файлом реализации. +Быстрый доступ к объявлениям и определениям. +Упорядочение окон редактора. +Отслеживание типичных проблем. -Быстрое переключение между заголовочным файлом и файлом реализации +Быстрое переключение между заголовочным файлом и файлом реализации -Среда предлагает простой и быстрый способ переключения с файла реализации (.cpp) на соответствующий заголовочный файл (.h) и наоборот. Нажмите правой кнопкой мыши в окне редактора — появится меню, как на иллюстрации ниже. +Среда предлагает простой и быстрый способ переключения с файла реализации (.cpp) на соответствующий заголовочный файл (.h) и наоборот. Нажмите правой кнопкой мыши в окне редактора — появится меню, как на иллюстрации ниже. -Переключение между файлом реализации и заголовочным файлом. +Переключение между файлом реализации и заголовочным файлом. -Выберите пункт Переключить заголовочный файл и файл реализации. Среда найдёт соответствующий заголовочный файл или файл реализации и откроет его в другом окне редактора. В нашем примере, если вы нажали правой кнопкой мыши в файле hello.cpp, будет показан файл hello.h, и курсор переместится в его окно. +Выберите пункт Переключить заголовочный файл и файл реализации. Среда найдёт соответствующий заголовочный файл или файл реализации и откроет его в другом окне редактора. В нашем примере, если вы нажали правой кнопкой мыши в файле hello.cpp, будет показан файл hello.h, и курсор переместится в его окно. -Более того, если вы нажмёте правой кнопкой мыши в пределах кода реализации класса, среда установит курсор на строке объявления этого класса в заголовочном файле. И наоборот, нажатие правой кнопкой мыши на объявлении класса покажет его реализацию. +Более того, если вы нажмёте правой кнопкой мыши в пределах кода реализации класса, среда установит курсор на строке объявления этого класса в заголовочном файле. И наоборот, нажатие правой кнопкой мыши на объявлении класса покажет его реализацию. -Если окно редактора с файлом должно переключиться на уже существующее, среда его активирует и переместит в него курсор, если это необходимо. +Если окно редактора с файлом должно переключиться на уже существующее, среда его активирует и переместит в него курсор, если это необходимо. -Доступ к объявлениям и определениям +Доступ к объявлениям и определениям -Но что если вы работаете над файлом исходного кода и хотите найти объявление или определение идентификатора? Это тоже нетрудно. По существу, всё, что вам нужно сделать — это нажать правой кнопкой мыши на интересующем вас идентификаторе. +Но что если вы работаете над файлом исходного кода и хотите найти объявление или определение идентификатора? Это тоже нетрудно. По существу, всё, что вам нужно сделать — это нажать правой кнопкой мыши на интересующем вас идентификаторе. -Однако, нужно разделять две различных ситуации: +Однако, нужно разделять две различных ситуации: -доступ к идентификаторам, определённым вне проекта и -работу с внутренними идентификаторами проекта. +доступ к идентификаторам, определённым вне проекта и +работу с внутренними идентификаторами проекта. -Внешние объявления и определения +Внешние объявления и определения -В самом типичном случае, вы будете искать идентификатор, определённый за пределами проекта. В проектах &kde; такие идентификаторы, скорее всего, документированы в библиотеках &kde; и &Qt;. Если &kde; и &tdevelop; установлены правильно, то должен быть доступ к документации по API и возможность поиска идентификаторов в ней. +В самом типичном случае, вы будете искать идентификатор, определённый за пределами проекта. В проектах &kde; такие идентификаторы, скорее всего, документированы в библиотеках &kde; и &Qt;. Если &kde; и &tdevelop; установлены правильно, то должен быть доступ к документации по API и возможность поиска идентификаторов в ней. -Давайте рассмотрим пример. Найдите в окне редактора файла hello.cpp следующие строки: +Давайте рассмотрим пример. Найдите в окне редактора файла hello.cpp следующие строки: -Hello::Hello() +Hello::Hello() : TDEMainWindow( 0, "Hello" ) { -Нажмите правую кнопку мыши на TDEMainWindow. Откроется меню. Выберите в нём пункт Искать в документации: TDEMainWindow и отпустите кнопку. Откроется боковая панель Документация, показывающая TDEMainWindow как элемент поиска в разделе Поиск. Через мгновенье в рабочей области откроется новое окно редактора, показывающее страницу справочника по API KDE с описанием класса TDEMainWindow. - -См. иллюстрацию ниже. Мы намеренно открыли вкладку Документация, Поиск, чтобы продемонстрировать результат выбора этого пункта меню. +Нажмите правую кнопку мыши на TDEMainWindow. Откроется меню. Выберите в нём пункт Искать в документации: TDEMainWindow и отпустите кнопку. Откроется боковая панель Документация, показывающая TDEMainWindow как элемент поиска в разделе Поиск. Через мгновенье в рабочей области откроется новое окно редактора, показывающее страницу справочника по API KDE с описанием класса TDEMainWindow. + +См. иллюстрацию ниже. Мы намеренно открыли вкладку Документация, Поиск, чтобы продемонстрировать результат выбора этого пункта меню. -Поиск идентификаторов во внешней документации. +Поиск идентификаторов во внешней документации. -Вы могли бы выбрать пункт Поиск в документации: TDEMainWindow. В этом случае была бы показана вкладка Поиск боковой панели Документация, обычно предлагающая выбор страниц, содержащих искомую строку (в нашем примере это классы TDEMainWindow и TDEMainWindowInterface). Выберите любую из них, и она будет показана в окне редактора. +Вы могли бы выбрать пункт Поиск в документации: TDEMainWindow. В этом случае была бы показана вкладка Поиск боковой панели Документация, обычно предлагающая выбор страниц, содержащих искомую строку (в нашем примере это классы TDEMainWindow и TDEMainWindowInterface). Выберите любую из них, и она будет показана в окне редактора. -Если это не сработало, возможно, не был создан индекс документации. См. предыдущий раздел. +Если это не сработало, возможно, не был создан индекс документации. См. предыдущий раздел. -Внутренние объявления и определения проекта - -Поиск во внешней документации имеет свои ограничения. С помощью него нельзя найти идентификатор, который используется только внутри текущего проекта. Решение этой проблемы есть: среда может использовать индексы, созданные программой CTags для поиска в исходных текстах проекта. - -Чтобы воспользоваться этой функцией в нашем проекте, мы должны сначала создать индекс. Это делается с помощью боковой панели CTags, расположенной внизу рабочей области. - -Когда вы нажмёте на кнопку вкладки CTags, откроется боковая панель. В её правом нижнем углу вы обнаружите кнопку Создать индекс. +Внутренние объявления и определения проекта + +Поиск во внешней документации имеет свои ограничения. С помощью него нельзя найти идентификатор, который используется только внутри текущего проекта. Решение этой проблемы есть: среда может использовать индексы, созданные программой CTags для поиска в исходных текстах проекта. + +Чтобы воспользоваться этой функцией в нашем проекте, мы должны сначала создать индекс. Это делается с помощью боковой панели CTags, расположенной внизу рабочей области. + +Когда вы нажмёте на кнопку вкладки CTags, откроется боковая панель. В её правом нижнем углу вы обнаружите кнопку Создать индекс. -Нажмите её. +Нажмите её. -Подождите несколько секунд. Надпись База данных CTags не найдена слева от этой кнопке сменится текущей датой. Теперь можно искать идентификаторы. +Подождите несколько секунд. Надпись База данных CTags не найдена слева от этой кнопке сменится текущей датой. Теперь можно искать идентификаторы. -Дата рядом с кнопкой Создать индекс предназначена для напоминания о том, что индекс, возможно, устарел. Когда ваши попытки найти какой-либо идентификатор начнут завершаться неудачно, подумайте об обновлении индекса. В больших проектах это может занять значительное время, но вам следует выработать привычку регулярно обновлять индекс после существенных изменений исходного кода программы. +Дата рядом с кнопкой Создать индекс предназначена для напоминания о том, что индекс, возможно, устарел. Когда ваши попытки найти какой-либо идентификатор начнут завершаться неудачно, подумайте об обновлении индекса. В больших проектах это может занять значительное время, но вам следует выработать привычку регулярно обновлять индекс после существенных изменений исходного кода программы. -Существует несколько способов поиска идентификаторов в проекте. +Существует несколько способов поиска идентификаторов в проекте. -Использование боковой панели CTags -Это просто. Начните вводить название идентификатора в поле Поиск внизу слева. Среда попытается дополнить вводимое слово и показать все идентификаторы, которые начинаются с последовательности символов в поле. +Использование боковой панели CTags +Это просто. Начните вводить название идентификатора в поле Поиск внизу слева. Среда попытается дополнить вводимое слово и показать все идентификаторы, которые начинаются с последовательности символов в поле. -Если, например, вы хотите узнать, где используется идентификатор «Hello» в нашем проекте, наберите в поле Поиск «H». Среда немедленно примется за дело и покажет результат, подобный следующему: +Если, например, вы хотите узнать, где используется идентификатор «Hello» в нашем проекте, наберите в поле Поиск «H». Среда немедленно примется за дело и покажет результат, подобный следующему: -Поиск идентификатора с помощью боковой панели CTags. +Поиск идентификатора с помощью боковой панели CTags. -Если вы нажмёте левой кнопкой мыши на один из элементов списка, среда откроет в окне редактора файл и установит курсор в соответствующее место. +Если вы нажмёте левой кнопкой мыши на один из элементов списка, среда откроет в окне редактора файл и установит курсор в соответствующее место. -Использование контекстного меню в файле исходного кода -Это удобно, когда вы работаете с определённым исходным файлом. Допустим, вы изучаете файл main.cpp нашего проекта. Там вы находите строку +Использование контекстного меню в файле исходного кода +Это удобно, когда вы работаете с определённым исходным файлом. Допустим, вы изучаете файл main.cpp нашего проекта. Там вы находите строку -Hello *mainWin = 0; +Hello *mainWin = 0; -и задаётесь вопросом: «Для чего используется данная переменная?». Чтобы это выяснить, просто нажмите правой кнопкой мыши на идентификаторе «Hello». Появится меню, содержащее в конце необходимые для перехода пункты. +и задаётесь вопросом: «Для чего используется данная переменная?». Чтобы это выяснить, просто нажмите правой кнопкой мыши на идентификаторе «Hello». Появится меню, содержащее в конце необходимые для перехода пункты. -Получение информации CTags об идентификаторе в проекте. +Получение информации CTags об идентификаторе в проекте. -Нажмите левой кнопкой мыши на интересующем пункте. Выберите CTags: перейти к определению «Hello». Среда незамедлительно откроет файл hello.cpp в новом окне редактора и переместит курсор прямо к определению класса: -Hello::Hello() +Нажмите левой кнопкой мыши на интересующем пункте. Выберите CTags: перейти к определению «Hello». Среда незамедлительно откроет файл hello.cpp в новом окне редактора и переместит курсор прямо к определению класса: +Hello::Hello() : TDEMainWindow( 0, "Hello" ) { @@ -1932,216 +1042,113 @@ Keep lines at 80 characters length maximum. -Глобальный поиск -Эта функция особенно полезна для поиска произвольного текста в исходном коде проекта. Есть два способа запустить глобальный поиск: +Глобальный поиск +Эта функция особенно полезна для поиска произвольного текста в исходном коде проекта. Есть два способа запустить глобальный поиск: -запустить глобальный поиск командой меню Правка Найти в файлах...; +запустить глобальный поиск командой меню Правка Найти в файлах...; -использовать контекстное меню окна редактора. +использовать контекстное меню окна редактора. -Мы продемонстрируем второй способ на нашем проекте. Содержание открываемого меню будет, в целом, идентичным. Давайте предположим, что мы изучаем исходный код в файле hello.cpp, курсор находится на первом идентификаторе «Hello», и мы хотим узнать, в каких файлах и сколько раз встречается данный идентификатор. Это типичный случай, в котором используется глобальный поиск. +Мы продемонстрируем второй способ на нашем проекте. Содержание открываемого меню будет, в целом, идентичным. Давайте предположим, что мы изучаем исходный код в файле hello.cpp, курсор находится на первом идентификаторе «Hello», и мы хотим узнать, в каких файлах и сколько раз встречается данный идентификатор. Это типичный случай, в котором используется глобальный поиск. -Теперь, удерживая курсор мыши над идентификатором «Hello», нажмите правую кнопку мыши и выберите в появившемся контекстном меню пункт Grep: Hello. +Теперь, удерживая курсор мыши над идентификатором «Hello», нажмите правую кнопку мыши и выберите в появившемся контекстном меню пункт Grep: Hello. -Запуск глобального поиска из окна редактора. +Запуск глобального поиска из окна редактора. -Появится диалог Поиск в файлах (точно такой же, как по команде меню Правка Найти в файлах...). +Появится диалог Поиск в файлах (точно такой же, как по команде меню Правка Найти в файлах...). -Диалог представляет собой графическую оболочку для выполнения глобального поиска в проекте. +Диалог представляет собой графическую оболочку для выполнения глобального поиска в проекте. -Это очень мощный инструмент для выполнения поиска с помощью утилит find и grep во всём проекте. Мы не будем здесь углубляться в детали, вы можете поэкспериментировать с его возможностями сами. В данный момент в поле Образец уже должно быть помещено наше слово. В противном случае введите его в поле и нажмите кнопку Поиск внизу справа. - -Снизу откроется боковая панель Поиск в файлах, показывающая названия файлов нашего проекта и строки, где встречается искомое слово. Как обычно, если вы нажмёте левой кнопкой мыши на элементе списка, среда откроет в рабочей области окно редактора и покажет конкретное место употребления слова в файле. - -В этой боковой панели два места особенно интересны. +Это очень мощный инструмент для выполнения поиска с помощью утилит find и grep во всём проекте. Мы не будем здесь углубляться в детали, вы можете поэкспериментировать с его возможностями сами. В данный момент в поле Образец уже должно быть помещено наше слово. В противном случае введите его в поле и нажмите кнопку Поиск внизу справа. + +Снизу откроется боковая панель Поиск в файлах, показывающая названия файлов нашего проекта и строки, где встречается искомое слово. Как обычно, если вы нажмёте левой кнопкой мыши на элементе списка, среда откроет в рабочей области окно редактора и покажет конкретное место употребления слова в файле. + +В этой боковой панели два места особенно интересны. -Справа наверху вы увидите последовательности команд, которые выполнялись во время поиска. Это полезная информация для контроля результатов поиска. +Справа наверху вы увидите последовательности команд, которые выполнялись во время поиска. Это полезная информация для контроля результатов поиска. -Внизу находится список найденного. В нашем примере должно быть «*** 11 совпадений найдено ***». +Внизу находится список найденного. В нашем примере должно быть «*** 11 совпадений найдено ***». -Среда помнит результаты поиска всё время своей работы. Если вы запустите новый глобальный поиск, его результаты будут показаны на новой вкладке боковой панели Поиск в файлах. +Среда помнит результаты поиска всё время своей работы. Если вы запустите новый глобальный поиск, его результаты будут показаны на новой вкладке боковой панели Поиск в файлах. -Упорядочение окон редактора +Упорядочение окон редактора -При работе с большими и сложными проектами, на панели вкладок часто скапливается множество вкладок окон редактора. Возникает необходимость их удалять, упорядочивать, группировать. Среда имеет для этого несколько функций: +При работе с большими и сложными проектами, на панели вкладок часто скапливается множество вкладок окон редактора. Возникает необходимость их удалять, упорядочивать, группировать. Среда имеет для этого несколько функций: -Удаление ненужных окон. -Упорядочение вкладок окон. -Одновременный просмотр нескольких файлов в рабочей области. -Одновременное редактирование заголовочных файлов и файлов реализации C++. -Объединение открытых окон в сеансы. +Удаление ненужных окон. +Упорядочение вкладок окон. +Одновременный просмотр нескольких файлов в рабочей области. +Одновременное редактирование заголовочных файлов и файлов реализации C++. +Объединение открытых окон в сеансы. -Очистка полосы вкладок +Очистка полосы вкладок -На случай, когда огромное количество вкладок окон редактора становится плохо управляемым, в среде реализованы методы группового и индивидуального закрытия окон. +На случай, когда огромное количество вкладок окон редактора становится плохо управляемым, в среде реализованы методы группового и индивидуального закрытия окон. -Одновременное закрытие нескольких окон -Групповое закрытие окон существует и в других приложениях &kde;. Оно доступно через меню Окно или контекстное меню вкладки окна. С его помощью можно закрыть: +Одновременное закрытие нескольких окон +Групповое закрытие окон существует и в других приложениях &kde;. Оно доступно через меню Окно или контекстное меню вкладки окна. С его помощью можно закрыть: -текущее окно; +текущее окно; -все окна кроме текущего; +все окна кроме текущего; -все окна (только через меню Окно). +все окна (только через меню Окно). -Закрытие выбранных окон -Последовательное закрытие отдельных окон может оказаться неудобным, если их открыто большое количество, а оставить необходимо только несколько. Вместо этого, окна можно сначала выбрать, а затем закрыть их одним нажатием кнопки мыши. - - -Давайте рассмотрим этот метод на простом примере. Допустим, в нашем проекте «Hello» открыто для редактирования несколько файлов: hello.cpp, hello.h, helloui.rc, hello.desktop и main.cpp. Мы хотим закрыть все кроме hello.cpp. Самый простой способ это сделать — воспользоваться боковой панелью Окна. Для удобства список открытых файлов упорядочен по алфавиту. Процедура удаления занимает несколько шагов: +Закрытие выбранных окон +Последовательное закрытие отдельных окон может оказаться неудобным, если их открыто большое количество, а оставить необходимо только несколько. Вместо этого, окна можно сначала выбрать, а затем закрыть их одним нажатием кнопки мыши. + + +Давайте рассмотрим этот метод на простом примере. Допустим, в нашем проекте «Hello» открыто для редактирования несколько файлов: hello.cpp, hello.h, helloui.rc, hello.desktop и main.cpp. Мы хотим закрыть все кроме hello.cpp. Самый простой способ это сделать — воспользоваться боковой панелью Окна. Для удобства список открытых файлов упорядочен по алфавиту. Процедура удаления занимает несколько шагов: -Откройте панель Окна и, удерживая клавишу Ctrl нажатой, выберите файлы, которые хотите закрыть. +Откройте панель Окна и, удерживая клавишу Ctrl нажатой, выберите файлы, которые хотите закрыть. -Откройте контекстное меню любого выделенного файла в списке. +Откройте контекстное меню любого выделенного файла в списке. -Выберите в нём команду Закрыть выделенные. +Выберите в нём команду Закрыть выделенные. @@ -2150,464 +1157,235 @@ linkend="gettingstarted-edit-arrange-sourceheader" -Закрытие выделенных окон редактора одним действием. +Закрытие выделенных окон редактора одним действием. -Выделенные окна будут закрыты. +Выделенные окна будут закрыты. -Упорядочение вкладок окон редактора +Упорядочение вкладок окон редактора -Даже если у вас открыты только нужные окна, иногда возникает необходимость их упорядочить. Для этого имеется несколько функций: +Даже если у вас открыты только нужные окна, иногда возникает необходимость их упорядочить. Для этого имеется несколько функций: -Основная настройка: размещение новых вкладок. +Основная настройка: размещение новых вкладок. -По умолчанию, вкладка нового окна вставляется справа от вкладки текущего. Можно сделать так, чтобы новая вкладка добавлялась с правого края панели вкладок. +По умолчанию, вкладка нового окна вставляется справа от вкладки текущего. Можно сделать так, чтобы новая вкладка добавлялась с правого края панели вкладок. -Для этого нужно изменить параметр пользовательского интерфейса среды. +Для этого нужно изменить параметр пользовательского интерфейса среды. -Выберите команду меню Настройка Настроить KDevelop.... +Выберите команду меню Настройка Настроить KDevelop.... -В открывшемся диалоге выберите раздел Интерфейс пользователя. +В открывшемся диалоге выберите раздел Интерфейс пользователя. -В её левом нижнем углу найдите группу Использование вкладок. Уберите флажок Открывать новую вкладку после текущей. +В её левом нижнем углу найдите группу Использование вкладок. Уберите флажок Открывать новую вкладку после текущей. -Перезапустите &tdevelop;. Теперь новые вкладки окон редактора будут добавляться с правого края на панели вкладок. +Перезапустите &tdevelop;. Теперь новые вкладки окон редактора будут добавляться с правого края на панели вкладок. -К сожалению, этот параметр нельзя изменять во время работы. Вам придётся заранее решить, какой вариант поведения вам больше подходит. +К сожалению, этот параметр нельзя изменять во время работы. Вам придётся заранее решить, какой вариант поведения вам больше подходит. -Упорядочение вкладок -Так как задачи в процессе разработки меняются, возникает необходимость упорядочить окна редактора. Сделать это в &tdevelop; не сложно. +Упорядочение вкладок +Так как задачи в процессе разработки меняются, возникает необходимость упорядочить окна редактора. Сделать это в &tdevelop; не сложно. -Нажмите средней кнопкой мыши интересующую вкладку и чуть-чуть подвиньте мышь. Указатель примет форму перекрещенных стрелок. Теперь, не отпуская кнопку, перетащите вкладку в нужное место. +Нажмите средней кнопкой мыши интересующую вкладку и чуть-чуть подвиньте мышь. Указатель примет форму перекрещенных стрелок. Теперь, не отпуская кнопку, перетащите вкладку в нужное место. -Просмотр нескольких файлов одновременно - -Во время работы с проектом всегда открыто по крайней мере одно окно редактора для работы с исходным кодом. Хотя вы можете быстро переключаться между окнами, иногда нужно видеть несколько файлов одновременно. Например, для справки или для сложной правки. Для этого существует функция деления рабочей области на несколько одновременно видимых частей, каждая из которых может содержать свой набор окон. - -Для выполнения деления есть две команды. Они доступны в меню Окно и в контекстных меню окна и его вкладки. Рассмотрим их действие на примере нашего проекта. - -Допустим, есть два открытых файла исходного кода: hello.cpp и hello.h. Так как во время работы с файлом hello.cpp часто возникает необходимость обращаться к объявлениям в заголовочном файле hello.h, вы хотите видеть оба файла одновременно. - -Чтобы это сделать, откройте контекстное меню вкладки hello.h. +Просмотр нескольких файлов одновременно + +Во время работы с проектом всегда открыто по крайней мере одно окно редактора для работы с исходным кодом. Хотя вы можете быстро переключаться между окнами, иногда нужно видеть несколько файлов одновременно. Например, для справки или для сложной правки. Для этого существует функция деления рабочей области на несколько одновременно видимых частей, каждая из которых может содержать свой набор окон. + +Для выполнения деления есть две команды. Они доступны в меню Окно и в контекстных меню окна и его вкладки. Рассмотрим их действие на примере нашего проекта. + +Допустим, есть два открытых файла исходного кода: hello.cpp и hello.h. Так как во время работы с файлом hello.cpp часто возникает необходимость обращаться к объявлениям в заголовочном файле hello.h, вы хотите видеть оба файла одновременно. + +Чтобы это сделать, откройте контекстное меню вкладки hello.h. -Деление рабочей области на две части. +Деление рабочей области на две части. -Выберите команду Разделить горизонтально. Текущая рабочая область будет поделена пополам, окно hello.h будет помещено в нижнюю половину. +Выберите команду Разделить горизонтально. Текущая рабочая область будет поделена пополам, окно hello.h будет помещено в нижнюю половину. -Рабочая область, разделённая по горизонтали. +Рабочая область, разделённая по горизонтали. -Обратите внимание на пунктирную разделительную линию между окнами. С помощью неё можно менять высоту верхнего и нижнего окон. +Обратите внимание на пунктирную разделительную линию между окнами. С помощью неё можно менять высоту верхнего и нижнего окон. -Здесь стоит отметить несколько нюансов: +Здесь стоит отметить несколько нюансов: -Части рабочей области функционируют независимо друг от друга. Это значит, что новые окна-вкладки будут открываться в той части, где находится текущее окно. Любую часть можно тоже делить на части и так далее, таким образом, количество одновременно видимых окон неограниченно. +Части рабочей области функционируют независимо друг от друга. Это значит, что новые окна-вкладки будут открываться в той части, где находится текущее окно. Любую часть можно тоже делить на части и так далее, таким образом, количество одновременно видимых окон неограниченно. -Операция разделения перемещает текущее окно редактора в нижнюю или правую части рабочей области. Остальные окна остаются на прежних местах. Окна нельзя перемещать между частями — окно необходимо сначала закрыть в одной части, а затем открыть его в другой. +Операция разделения перемещает текущее окно редактора в нижнюю или правую части рабочей области. Остальные окна остаются на прежних местах. Окна нельзя перемещать между частями — окно необходимо сначала закрыть в одной части, а затем открыть его в другой. -Команды закрытия частей рабочей области не предусмотрено. Они закрываются автоматически, когда в них закрывается последнее окно. +Команды закрытия частей рабочей области не предусмотрено. Они закрываются автоматически, когда в них закрывается последнее окно. -Одновременное редактирование заголовочных файлов и файлов реализации C++ - -Существует изящное применение описанной возможности. Среда позволяет автоматически показывать .cpp и соответствующий .h файлы рядом, а также работать с обоими файлами синхронно: при выделении объявления в заголовочном файле, среда будет перемещать курсор к соответствующему определению в файле реализации и наоборот. - -Данная функция по умолчанию выключена. Если вы хотите её использовать, вам нужно её включить. - -Для этого выберите команду меню Проект Параметры проекта. Появится диалог Параметры проекта. Перейдите в раздел Поддержка C++, а затем на вкладку Навигация. +Одновременное редактирование заголовочных файлов и файлов реализации C++ + +Существует изящное применение описанной возможности. Среда позволяет автоматически показывать .cpp и соответствующий .h файлы рядом, а также работать с обоими файлами синхронно: при выделении объявления в заголовочном файле, среда будет перемещать курсор к соответствующему определению в файле реализации и наоборот. + +Данная функция по умолчанию выключена. Если вы хотите её использовать, вам нужно её включить. + +Для этого выберите команду меню Проект Параметры проекта. Появится диалог Параметры проекта. Перейдите в раздел Поддержка C++, а затем на вкладку Навигация. -Включение показа заголовочного файла и файла реализации C++ рядом. +Включение показа заголовочного файла и файла реализации C++ рядом. -Теперь установите флажок Разрешить разбиение файлов на заголовочный файл и файл реализации. По умолчанию установится флажок Автоматическая синхронизация, а переключатель Ориентация перейдёт в положение Вертикально. Пока не меняйте эти параметры. Нажмите кнопку OK. - -Чтобы увидеть эту функцию в действии, закройте в проекте «Hello» окна редактора для файлов hello.cpp и hello.h. Теперь снова выберите файл hello.cpp в подкаталоге src каталога проекта. Откроется окно редактора, как обычно. Но если вы сейчас откроете файл hello.h, среда автоматически разделит рабочую область и откроет окно редактора для этого файла прямо под окном hello.cpp. - -Теперь найдите в окне редактора файла hello.cpp следующее определение конструктора: -Hello::Hello() +Теперь установите флажок Разрешить разбиение файлов на заголовочный файл и файл реализации. По умолчанию установится флажок Автоматическая синхронизация, а переключатель Ориентация перейдёт в положение Вертикально. Пока не меняйте эти параметры. Нажмите кнопку OK. + +Чтобы увидеть эту функцию в действии, закройте в проекте «Hello» окна редактора для файлов hello.cpp и hello.h. Теперь снова выберите файл hello.cpp в подкаталоге src каталога проекта. Откроется окно редактора, как обычно. Но если вы сейчас откроете файл hello.h, среда автоматически разделит рабочую область и откроет окно редактора для этого файла прямо под окном hello.cpp. + +Теперь найдите в окне редактора файла hello.cpp следующее определение конструктора: +Hello::Hello() -— и поместите в него курсор. Посмотрите в окно файла hello.h внизу. Среда покажет в нём соответствующее объявление этого конструктора. +— и поместите в него курсор. Посмотрите в окно файла hello.h внизу. Среда покажет в нём соответствующее объявление этого конструктора. -Автоматический переход к объявлению конструктора. +Автоматический переход к объявлению конструктора. -Этот механизм работает и в обратную сторону. Когда вы устанавливаете курсор на языковую конструкцию в одном окне редактора, среда перейдёт к соответствующей конструкции в другом. +Этот механизм работает и в обратную сторону. Когда вы устанавливаете курсор на языковую конструкцию в одном окне редактора, среда перейдёт к соответствующей конструкции в другом. -Объединение открытых окон в сеансы - -Увеличение размера проекта и усложнение задач по его разработке приводят в необходимости частого переключения между различными наборами файлов. В этом случае целесообразно организовать работу над проектом в виде нескольких сеансов. Это осуществляется в боковой панели Окна. - -В верхней части этой боковой панели есть панель инструментов, с помощью которой можно создавать, сохранять, выбирать и удалять сеансы. Альтернативный способ — через подменю Сеанс меню Вид. - -Мы покажем эту возможность снова на примере проекта «Hello». Предположим, вы хотите всегда открывать файлы main.cpp, hello.h и main.cpp одним действием не зависимо от того, что делали до этого. Для этого нужно сначала создать новый сеанс, который называется, скажем, «sources». +Объединение открытых окон в сеансы + +Увеличение размера проекта и усложнение задач по его разработке приводят в необходимости частого переключения между различными наборами файлов. В этом случае целесообразно организовать работу над проектом в виде нескольких сеансов. Это осуществляется в боковой панели Окна. + +В верхней части этой боковой панели есть панель инструментов, с помощью которой можно создавать, сохранять, выбирать и удалять сеансы. Альтернативный способ — через подменю Сеанс меню Вид. + +Мы покажем эту возможность снова на примере проекта «Hello». Предположим, вы хотите всегда открывать файлы main.cpp, hello.h и main.cpp одним действием не зависимо от того, что делали до этого. Для этого нужно сначала создать новый сеанс, который называется, скажем, «sources». -Использование сеансов для запоминания групп файлов. +Использование сеансов для запоминания групп файлов. -Объединение файлов в сеанс занимает несколько шагов. +Объединение файлов в сеанс занимает несколько шагов. -Создание нового сеанса. +Создание нового сеанса. -Нажмите кнопку Новый сеанс в верхней левой части боковой панели Окна. +Нажмите кнопку Новый сеанс в верхней левой части боковой панели Окна. -Откроется диалог. Введите название сеанса в поле Введите название сеанса (например, «sources»). +Откроется диалог. Введите название сеанса в поле Введите название сеанса (например, «sources»). -Закройте диалог кнопкой OK. Созданный сеанс появится в выпадающем меню панели инструментов. +Закройте диалог кнопкой OK. Созданный сеанс появится в выпадающем меню панели инструментов. -Новый сеанс изначально пуст. В него нужно добавить файлы. +Новый сеанс изначально пуст. В него нужно добавить файлы. -Откройте все файлы, которые хотите добавить в сеанс. В нашем примере это будут hello.cpp, hello.h и main.cpp. +Откройте все файлы, которые хотите добавить в сеанс. В нашем примере это будут hello.cpp, hello.h и main.cpp. -Нажмите кнопку Сохранить сеанс на панели инструментов. Не забудьте это сделать, иначе список файлов не будет запомнен. +Нажмите кнопку Сохранить сеанс на панели инструментов. Не забудьте это сделать, иначе список файлов не будет запомнен. -Всё. Когда вы выберите сеанс sources в выпадающем меню Открыть сеанс, среда закроет все открытые в данный момент окна редактора и откроет запомненные в сеансе файлы (в нашем примере это hello.cpp, hello.h и main.cpp). - -Количество сеансов в проекте неограниченно. Если хотите изменить содержание сеанса, просто обновите список файлов и нажмите Сохранить сеанс. Удаляется сеанс нажатием кнопки Удалить сеанс справа на панели инструментов. - -Более того, вы можете заставить среду открывать данный сеанс по умолчанию при загрузке проекта. Просто выберите сеанс в выпадающем списке в разделе Окна в диалоговом окне, открываемом командой меню Проекты Параметры проекта. +Всё. Когда вы выберите сеанс sources в выпадающем меню Открыть сеанс, среда закроет все открытые в данный момент окна редактора и откроет запомненные в сеансе файлы (в нашем примере это hello.cpp, hello.h и main.cpp). + +Количество сеансов в проекте неограниченно. Если хотите изменить содержание сеанса, просто обновите список файлов и нажмите Сохранить сеанс. Удаляется сеанс нажатием кнопки Удалить сеанс справа на панели инструментов. + +Более того, вы можете заставить среду открывать данный сеанс по умолчанию при загрузке проекта. Просто выберите сеанс в выпадающем списке в разделе Окна в диалоговом окне, открываемом командой меню Проекты Параметры проекта. -Настройка среды на открытие определённого сеанса при загрузке проекта. +Настройка среды на открытие определённого сеанса при загрузке проекта. -Отслеживание типичных проблем +Отслеживание типичных проблем -Когда вы открываете файл с исходным кодом, среда делает анализ его содержимого. Это позволяет встроенному инспектору проблем проверить исходный текст на наличие типичных ошибок и предупредить пользователя о подозрительных местах. +Когда вы открываете файл с исходным кодом, среда делает анализ его содержимого. Это позволяет встроенному инспектору проблем проверить исходный текст на наличие типичных ошибок и предупредить пользователя о подозрительных местах. -Давайте посмотрим, как это работает, на примере нашего проекта. +Давайте посмотрим, как это работает, на примере нашего проекта. -Откройте файл main.cpp. +Откройте файл main.cpp. -Убедитесь, что он ещё содержит где-то в конце следующую строку: -/// @todo do something with the command line args +Убедитесь, что он ещё содержит где-то в конце следующую строку: +/// @todo do something with the command line args -Она была вставлена Мастером проектов при создании проекта (см. главу Создание нового проекта). +Она была вставлена Мастером проектов при создании проекта (см. главу Создание нового проекта). -Теперь откройте боковую панель Проблемы в нижнем ряду вкладок. Если всё сделано правильно, появится сообщение об этой заметке «todo»: +Теперь откройте боковую панель Проблемы в нижнем ряду вкладок. Если всё сделано правильно, появится сообщение об этой заметке «todo»: -Среда предупреждает о строках в исходном коде, которые содержат маркер «todo». +Среда предупреждает о строках в исходном коде, которые содержат маркер «todo». -Формат команды /// @todo предназначен для специальной обработки программой Doxygen, которую мы рассмотрим в главе «Документация». Не обязательно использовать именно этот формат, более распространённые маркеры TODO и FIXME тоже распознаются. - -Например, если вы вставите комментарии, содержащие TODO и FIXME, в файл hello.cpp, -Hello::Hello() +Формат команды /// @todo предназначен для специальной обработки программой Doxygen, которую мы рассмотрим в главе «Документация». Не обязательно использовать именно этот формат, более распространённые маркеры TODO и FIXME тоже распознаются. + +Например, если вы вставите комментарии, содержащие TODO и FIXME, в файл hello.cpp, +Hello::Hello() : TDEMainWindow( 0, "Hello" ) { // set the shell's ui resource file @@ -2618,262 +1396,132 @@ linkend="gettingstarted-edit-arrange-sourceheader" new QLabel( "Hello World", this, "hello label" ); } -то увидите их на боковой панели Проблемы: +то увидите их на боковой панели Проблемы: -Отчёт о строках текущего файла, требующих внимания. +Отчёт о строках текущего файла, требующих внимания. -Обратите внимание на другие вкладки боковой панели Проблемы, особенно на Fixme и Todo. Если вы их откроете, то найдёте в них все строки помеченные маркерами FIXME и TODO, которые были обнаружены в текущем сеансе. Например, заметки TODO будут выглядеть следующим образом: +Обратите внимание на другие вкладки боковой панели Проблемы, особенно на Fixme и Todo. Если вы их откроете, то найдёте в них все строки помеченные маркерами FIXME и TODO, которые были обнаружены в текущем сеансе. Например, заметки TODO будут выглядеть следующим образом: -Перечисление TODO. +Перечисление TODO. -Однако, вкладка Ошибки содержит не все ошибки, допущенные вами в коде. Это работа для других инструментов, например, инструментов сборки. Но вы можете найти здесь предупреждения о некоторых типичных ошибках программирования, которые могли бы остаться незамеченными и, возможно, трудноуловимыми во время отладки. +Однако, вкладка Ошибки содержит не все ошибки, допущенные вами в коде. Это работа для других инструментов, например, инструментов сборки. Но вы можете найти здесь предупреждения о некоторых типичных ошибках программирования, которые могли бы остаться незамеченными и, возможно, трудноуловимыми во время отладки. -Вы оце́ните генератор отчётов о проблемах по достоинству. Регулярно поглядывайте на боковую панель Проблемы во время разработки. +Вы оце́ните генератор отчётов о проблемах по достоинству. Регулярно поглядывайте на боковую панель Проблемы во время разработки. -Компиляция проекта +Компиляция проекта -Компиляция в &tdevelop; требует выполнения нескольких подготовительных действий, за которыми следует непосредственно сборка приложения. Все они доступны через меню Сборка. +Компиляция в &tdevelop; требует выполнения нескольких подготовительных действий, за которыми следует непосредственно сборка приложения. Все они доступны через меню Сборка. -Сборка проекта занимает несколько шагов. +Сборка проекта занимает несколько шагов. -На данный момент нам интересна верхняя секция этого меню. Его пункты упорядочены по важности. Наиболее часто используемая команда Собрать проект находится в самом верху. Она вызывает инициализацию всего проекта, его компиляцию и, при необходимости, компоновку. Другие пункты компилируют выбранные части проекта или отдельный файл, выполняют несколько последовательностей инициализации или устанавливают собранные двоичные файлы приложения. +На данный момент нам интересна верхняя секция этого меню. Его пункты упорядочены по важности. Наиболее часто используемая команда Собрать проект находится в самом верху. Она вызывает инициализацию всего проекта, его компиляцию и, при необходимости, компоновку. Другие пункты компилируют выбранные части проекта или отдельный файл, выполняют несколько последовательностей инициализации или устанавливают собранные двоичные файлы приложения. -Сейчас мы сконцентрируемся на нескольких возможностях, предоставленных средой для установки, инициализации, сборки и запуска приложения. +Сейчас мы сконцентрируемся на нескольких возможностях, предоставленных средой для установки, инициализации, сборки и запуска приложения. -Основной цикл сборки (кратко). -Основные средства конфигурации проекта. +Основной цикл сборки (кратко). +Основные средства конфигурации проекта. -Основной цикл сборки +Основной цикл сборки -После создания нового проекта обычно хочется проверить, всё ли сделано правильно. Для этого нужно собрать и запустить приложение. Самая первая компиляция проекта требует выполнения несколько подготовительных действий. Рассмотрим их. +После создания нового проекта обычно хочется проверить, всё ли сделано правильно. Для этого нужно собрать и запустить приложение. Самая первая компиляция проекта требует выполнения несколько подготовительных действий. Рассмотрим их. -Инициализация проекта для первой сборки. -Выполнение начальной конфигурации. -Сборка проекта. -Запуск приложения. +Инициализация проекта для первой сборки. +Выполнение начальной конфигурации. +Сборка проекта. +Запуск приложения. -Описание предполагает, что ваш проект основан на &GNU; autotools, которые используются при выборе соответствующего шаблона при создании проекта. Если вы выбрали другой шаблон проекта, например, основанный на сборке диспетчером проектов &Qt; QMake, будут доступны другие возможности или недоступно никаких. Обратитесь к документации соответствующего инструмента сборки, чтобы узнать, как управлять проектом и собирать его. +Описание предполагает, что ваш проект основан на &GNU; autotools, которые используются при выборе соответствующего шаблона при создании проекта. Если вы выбрали другой шаблон проекта, например, основанный на сборке диспетчером проектов &Qt; QMake, будут доступны другие возможности или недоступно никаких. Обратитесь к документации соответствующего инструмента сборки, чтобы узнать, как управлять проектом и собирать его. -Инициализация проекта для сборки - -Когда &appwizard; создавал проект «Hello», он оставил его в «сыром» состоянии. Инструменты &GNU; autotools требуют выполнения нескольких действий по инициализации перед компиляцией и компоновкой приложения. Если вы попытаетесь собрать проект в таком «сыром» состоянии, например, выбрав команду меню Собрать Собрать проект или нажав клавишу F8, то получите следующее предупреждение: +Инициализация проекта для сборки + +Когда &appwizard; создавал проект «Hello», он оставил его в «сыром» состоянии. Инструменты &GNU; autotools требуют выполнения нескольких действий по инициализации перед компиляцией и компоновкой приложения. Если вы попытаетесь собрать проект в таком «сыром» состоянии, например, выбрав команду меню Собрать Собрать проект или нажав клавишу F8, то получите следующее предупреждение: -Попытка сборки «сырого» проекта на базе automake. +Попытка сборки «сырого» проекта на базе automake. -Можете нажать кнопку Запустить и среда попытается автоматически выполнить все требуемые подготовительные действия перед компиляцией и компоновкой приложения. Но мы рассмотрим эти действия последовательно, поэтому нажмите кнопку Не запускать, чтобы отменить этот диалог. +Можете нажать кнопку Запустить и среда попытается автоматически выполнить все требуемые подготовительные действия перед компиляцией и компоновкой приложения. Но мы рассмотрим эти действия последовательно, поэтому нажмите кнопку Не запускать, чтобы отменить этот диалог. -Как уже было сказано, компиляция и компоновка приложения выполняется через меню Сборка. Откройте его и выберите команду Запустить automake и родственные программы. +Как уже было сказано, компиляция и компоновка приложения выполняется через меню Сборка. Откройте его и выберите команду Запустить automake и родственные программы. -Запуск основной инициализации. +Запуск основной инициализации. -Среда откроет боковую панель Сообщения внизу, в которой будет показывать сообщения инструментов сборки. В случае отсутствия ошибок, последняя строка будет содержать сообщение «*** Успешное завершение ***». +Среда откроет боковую панель Сообщения внизу, в которой будет показывать сообщения инструментов сборки. В случае отсутствия ошибок, последняя строка будет содержать сообщение «*** Успешное завершение ***». -Если вы прокрутите список сообщений вверх, то найдёте командную строку, которой среда вызывала инструменты сборки. Пример командной строки: +Если вы прокрутите список сообщений вверх, то найдёте командную строку, которой среда вызывала инструменты сборки. Пример командной строки: -cd '/home/devel/projects/hello' && \ +cd '/home/devel/projects/hello' && \ WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -f Makefile.cvs -Она говорит о том, что сначала среда перешла в корневой каталог нашего проекта. Затем установила определённые переменные окружения, сообщая системе сборки версии утилит autoconf и automake, используемых для данной инициализации. И наконец передала программе сборки (в нашем случае это &GNU; gmake) файл с правилами сборки. - -Файл с правилами сборки был автоматически создан и настроен при создании проекта. Он содержит команды необходимые для правильной инициализации проекта, чтобы приложение могло работать в &kde;. Эти команды создадут скрипт configure, необходимый для выполнения следующего шага. +Она говорит о том, что сначала среда перешла в корневой каталог нашего проекта. Затем установила определённые переменные окружения, сообщая системе сборки версии утилит autoconf и automake, используемых для данной инициализации. И наконец передала программе сборки (в нашем случае это &GNU; gmake) файл с правилами сборки. + +Файл с правилами сборки был автоматически создан и настроен при создании проекта. Он содержит команды необходимые для правильной инициализации проекта, чтобы приложение могло работать в &kde;. Эти команды создадут скрипт configure, необходимый для выполнения следующего шага. -Начальная настройка проекта «Hello» - -Конфигурация означает подгонку процесса сборки под аппаратные и программные особенности вашей системы. Это основное требование в процессе сборки на основе &GNU; autotools. - -Когда основная инициализация automake успешно завершится, можно запускать скрипт configure, так как только после этой инициализации необходимые для его работы файлы станут доступны. Чтобы запустить его выберите команду меню СборкаЗапустить configure. - -Среда при необходимости опять откроет боковую панель Сообщения для показа сообщений скрипта configure. Если не возникнет никаких ошибок, последними сообщениями будут «Good - your configure finished. Start make now» и «*** Успешное завершение ***», добавленное средой. - -В верхней части панели Сообщения вы снова увидите командную строку, которую среда использовала для запуска скрипта. Она содержит следующее: - -mkdir '/home/devel/projects/hello/debug' && \ +Начальная настройка проекта «Hello» + +Конфигурация означает подгонку процесса сборки под аппаратные и программные особенности вашей системы. Это основное требование в процессе сборки на основе &GNU; autotools. + +Когда основная инициализация automake успешно завершится, можно запускать скрипт configure, так как только после этой инициализации необходимые для его работы файлы станут доступны. Чтобы запустить его выберите команду меню СборкаЗапустить configure. + +Среда при необходимости опять откроет боковую панель Сообщения для показа сообщений скрипта configure. Если не возникнет никаких ошибок, последними сообщениями будут «Good - your configure finished. Start make now» и «*** Успешное завершение ***», добавленное средой. + +В верхней части панели Сообщения вы снова увидите командную строку, которую среда использовала для запуска скрипта. Она содержит следующее: + +mkdir '/home/devel/projects/hello/debug' && \ cd '/home/devel/projects/hello/debug' && \ CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full -Здесь есть несколько интересных деталей. +Здесь есть несколько интересных деталей. - + @@ -2884,224 +1532,90 @@ CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full -Во-первых, для сборки среда использует специальный подкаталог в дереве каталога проекта. Каталог сборки debug (показанный слева) содержит основную структуру проекта и набор файлов, связанных со сборкой: несколько файлов, созданных configure, и дополнительно по одному файлу Makefile на каждый подкаталог. - - -Ниже, в разделе «Настройка проекта» мы рассмотрим причины, по которым используются отдельные подкаталоги для сборки. Сейчас достаточно знать, что среда создала каталог debug перед вызовом configure, и что этот скрипт создал его подкаталоги и все Makefiles в них. - - -Затем, из каталога сборки debug среда вызывает скрипт configure, расположенный в корневом каталоге проекта, настроив переменные окружения, среди которых флаги CXXFLAGS="-O0 -g3" для компилятора &gcc; (-O0 — выключение оптимизации, -g3 — генерация полной отладочной информации). - - -В последнюю очередь запускается скрипт configure с параметром --enable-debug=full, который означает, что каждый Makefile будет создаваться с правилом для компиляции и компоновки с отладочной информацией. +Во-первых, для сборки среда использует специальный подкаталог в дереве каталога проекта. Каталог сборки debug (показанный слева) содержит основную структуру проекта и набор файлов, связанных со сборкой: несколько файлов, созданных configure, и дополнительно по одному файлу Makefile на каждый подкаталог. + + +Ниже, в разделе «Настройка проекта» мы рассмотрим причины, по которым используются отдельные подкаталоги для сборки. Сейчас достаточно знать, что среда создала каталог debug перед вызовом configure, и что этот скрипт создал его подкаталоги и все Makefiles в них. + + +Затем, из каталога сборки debug среда вызывает скрипт configure, расположенный в корневом каталоге проекта, настроив переменные окружения, среди которых флаги CXXFLAGS="-O0 -g3" для компилятора &gcc; (-O0 — выключение оптимизации, -g3 — генерация полной отладочной информации). + + +В последнюю очередь запускается скрипт configure с параметром --enable-debug=full, который означает, что каждый Makefile будет создаваться с правилом для компиляции и компоновки с отладочной информацией. - + -Эти параметры настраиваются для каждого проекта индивидуально. Более подробно это описано в главе «Управление проектом». +Эти параметры настраиваются для каждого проекта индивидуально. Более подробно это описано в главе «Управление проектом». -Сборка проекта +Сборка проекта -Теперь можно собирать (компилировать и компоновать) приложение. В меню Сборка есть три команды компиляции. +Теперь можно собирать (компилировать и компоновать) приложение. В меню Сборка есть три команды компиляции. -Команды для сборки двоичных файлов. +Команды для сборки двоичных файлов. -Пункты снизу вверх: +Пункты снизу вверх: -Скомпилировать файл. Компилирует текущий открытый файл исходного кода. В основном используется для быстрой проверки исходного кода на ошибки. +Скомпилировать файл. Компилирует текущий открытый файл исходного кода. В основном используется для быстрой проверки исходного кода на ошибки. -Собрать активную цель. Эта команда обычно используется вместе с диспетчером Automake, который мы рассмотрим ниже. +Собрать активную цель. Эта команда обычно используется вместе с диспетчером Automake, который мы рассмотрим ниже. -Собрать проект. Эта команда то, что нам сейчас нужно. Она будет обрабатывать проект целиком, компилируя и компонуя все необходимые файлы. +Собрать проект. Эта команда то, что нам сейчас нужно. Она будет обрабатывать проект целиком, компилируя и компонуя все необходимые файлы. -Происходящее в каталоге debug, созданном во время предыдущего запуска configure, может быть интересным. Поэтому держите все его подкаталоги в развёрнутом состоянии, как показано выше. Выберите команду Сборка Собрать проект (или нажмите клавишу F8), чтобы начать сборку. Снова внизу откроется боковая панель Сообщения, показывающая вывод инструментов сборки. Вместе с этим в подкаталоге debug появятся некоторые файлы. - -В нашем проекте немного файлов, поэтому окно Сообщения будет содержать незначительное количество строк. Вверху вы опять найдёте командную строку, которую использовала среда. - -cd '/home/devel/projects/hello/debug' && \ +Происходящее в каталоге debug, созданном во время предыдущего запуска configure, может быть интересным. Поэтому держите все его подкаталоги в развёрнутом состоянии, как показано выше. Выберите команду Сборка Собрать проект (или нажмите клавишу F8), чтобы начать сборку. Снова внизу откроется боковая панель Сообщения, показывающая вывод инструментов сборки. Вместе с этим в подкаталоге debug появятся некоторые файлы. + +В нашем проекте немного файлов, поэтому окно Сообщения будет содержать незначительное количество строк. Вверху вы опять найдёте командную строку, которую использовала среда. + +cd '/home/devel/projects/hello/debug' && \ WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k -Среда переключилась на подкаталог debug, чтобы запустить находящийся там файл Makefile. Как и на этапе инициализации, она установила специальные переменные окружения перед вызовом gmake. - -Обратите внимание на параметр -k в командной строке gmake. Он запрещает прерывание процесса сборки при возникновении ошибок. Это значит, что среда будет выводить все сообщения об ошибках в окно Сообщения. Если в этом окне присутствуют ошибки, используйте средства среды: нажмите на сообщение об ошибке в окне Сообщения и среда покажет ошибочное место в исходном файле. - -Что же произошло внутри каталога debug? Ничего особенного. Появилось несколько файлов в ветвях doc/en и src. Наиболее интересный среди них файл hello в каталоге /home/devel/projects/hello/debug/src/. Это двоичный файл приложения. Всё, что осталось сделать, это запустить его. +Среда переключилась на подкаталог debug, чтобы запустить находящийся там файл Makefile. Как и на этапе инициализации, она установила специальные переменные окружения перед вызовом gmake. + +Обратите внимание на параметр -k в командной строке gmake. Он запрещает прерывание процесса сборки при возникновении ошибок. Это значит, что среда будет выводить все сообщения об ошибках в окно Сообщения. Если в этом окне присутствуют ошибки, используйте средства среды: нажмите на сообщение об ошибке в окне Сообщения и среда покажет ошибочное место в исходном файле. + +Что же произошло внутри каталога debug? Ничего особенного. Появилось несколько файлов в ветвях doc/en и src. Наиболее интересный среди них файл hello в каталоге /home/devel/projects/hello/debug/src/. Это двоичный файл приложения. Всё, что осталось сделать, это запустить его. -Запуск приложения - -Чтобы запустить приложение, либо выберите команду меню Сборка Выполнить программу, либо нажмите комбинацию клавиш Shift F9, либо нажмите кнопку Выполнить программу на панели Панель инструментов «Сборка», показанной внизу. +Запуск приложения + +Чтобы запустить приложение, либо выберите команду меню Сборка Выполнить программу, либо нажмите комбинацию клавиш Shift F9, либо нажмите кнопку Выполнить программу на панели Панель инструментов «Сборка», показанной внизу. -Запуск приложения с помощью панели Панель инструментов «Сборка». +Запуск приложения с помощью панели Панель инструментов «Сборка». -Всё. Теперь среда запустит новое приложение в окне консоли, которое открывается как боковая панель Приложение внизу. В верхней строке будет вызванная средой команда, наподобие следующей: +Всё. Теперь среда запустит новое приложение в окне консоли, которое открывается как боковая панель Приложение внизу. В верхней строке будет вызванная средой команда, наподобие следующей: -./hello +./hello -Эта строка показывает, что среда знает, где находится исполняемый файл приложения. Место поиска исполняемого файла — настраиваемый параметр (см. главу "Управление проектом"). +Эта строка показывает, что среда знает, где находится исполняемый файл приложения. Место поиска исполняемого файла — настраиваемый параметр (см. главу "Управление проектом"). -За строкой ./hello, скорее всего, будет следовать предупреждающее сообщение. Не обращайте в данный момент на него внимания. Оно не помешает запустить наше приложение. +За строкой ./hello, скорее всего, будет следовать предупреждающее сообщение. Не обращайте в данный момент на него внимания. Оно не помешает запустить наше приложение. @@ -3109,884 +1623,450 @@ WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k -Наше первое приложение Hello. +Наше первое приложение Hello. -Закройте приложение. Если не возникнет никаких ошибок, среда выведет в окно боковой панели Приложение сообщение «*** Нормальное завершение ***». +Закройте приложение. Если не возникнет никаких ошибок, среда выведет в окно боковой панели Приложение сообщение «*** Нормальное завершение ***». -Настройка проекта +Настройка проекта -Существуют различные способы управления проектом. Каждый проект настраивается индивидуально. И хотя эта возможность представляет интерес в основном для опытных разработчиков, несколько параметров следует знать с самого начала. +Существуют различные способы управления проектом. Каждый проект настраивается индивидуально. И хотя эта возможность представляет интерес в основном для опытных разработчиков, несколько параметров следует знать с самого начала. -Конфигурации сборки - -Настройка поведения скрипта configure. - -Рекомендации по запуску утилиты make. - -Местонахождение исполняемого файла и параметры его запуска +Конфигурации сборки + +Настройка поведения скрипта configure. + +Рекомендации по запуску утилиты make. + +Местонахождение исполняемого файла и параметры его запуска -Параметры сборки - -Когда мы первый раз запускали скрипт configure в разделе «Начальная настройка проекта «Hello»», мы обратили внимание на то, что среда создала специальный подкаталог debug. В данном разделе мы обсудим некоторые следствия этого. - -Во-первых, среда не всегда использует специальные каталоги для сборки, отдельные от каталогов с исходным кодом. Подготовка автоматического использования определённой конфигурации сборки осуществляется с помощью шаблонов при создании проекта. - -Чтобы выяснить текущую конфигурацию сборки, обратитесь к меню Проект Конфигурация сборки. +Параметры сборки + +Когда мы первый раз запускали скрипт configure в разделе «Начальная настройка проекта «Hello»», мы обратили внимание на то, что среда создала специальный подкаталог debug. В данном разделе мы обсудим некоторые следствия этого. + +Во-первых, среда не всегда использует специальные каталоги для сборки, отдельные от каталогов с исходным кодом. Подготовка автоматического использования определённой конфигурации сборки осуществляется с помощью шаблонов при создании проекта. + +Чтобы выяснить текущую конфигурацию сборки, обратитесь к меню Проект Конфигурация сборки. -Различные конфигурации сборки проекта. +Различные конфигурации сборки проекта. -В случае нашего проекта есть три конфигурации. В других случаях может быть изначально только одна — default. +В случае нашего проекта есть три конфигурации. В других случаях может быть изначально только одна — default. -Текущая конфигурация слева имеет флажок. Переключение между конфигурациями осуществляется выбором соответствующего пункта меню. +Текущая конфигурация слева имеет флажок. Переключение между конфигурациями осуществляется выбором соответствующего пункта меню. -Теперь давайте рассмотрим, что эти конфигурации сборки из себя представляют. +Теперь давайте рассмотрим, что эти конфигурации сборки из себя представляют. -debug - -Используйте эту конфигурацию во время разработки проекта. Сборка осуществляется отдельно от каталогов исходного текста в специальном подкаталоге debug, то есть все объектные, вспомогательные и исполняемые файлы будут помещаться в этот подкаталог, а не в каталоги проекта с исходным кодом. Сценарий configure получит параметр --enable-debug=full, будет установлена переменная окружения CXXFLAGS="-O0 -g3", указывающая компилятору &gcc; не оптимизировать код и добавить полную отладочную информацию в выходные двоичные файлы. +debug + +Используйте эту конфигурацию во время разработки проекта. Сборка осуществляется отдельно от каталогов исходного текста в специальном подкаталоге debug, то есть все объектные, вспомогательные и исполняемые файлы будут помещаться в этот подкаталог, а не в каталоги проекта с исходным кодом. Сценарий configure получит параметр --enable-debug=full, будет установлена переменная окружения CXXFLAGS="-O0 -g3", указывающая компилятору &gcc; не оптимизировать код и добавить полную отладочную информацию в выходные двоичные файлы. -optimized - -Эта конфигурация используется для сборки окончательного приложения C++. Сборка происходит отдельно от каталогов исходного кода в специальном подкаталоге optimized. Никаких специальных аргументов в configure не передаётся, устанавливается переменная окружения CXXFLAGS="-O2 -g0", указывающая компилятору &gcc; оптимизировать код и не добавлять отладочную информацию в генерируемые двоичные файлы. +optimized + +Эта конфигурация используется для сборки окончательного приложения C++. Сборка происходит отдельно от каталогов исходного кода в специальном подкаталоге optimized. Никаких специальных аргументов в configure не передаётся, устанавливается переменная окружения CXXFLAGS="-O2 -g0", указывающая компилятору &gcc; оптимизировать код и не добавлять отладочную информацию в генерируемые двоичные файлы. -default - -Термин «default» обозначает стандартные параметры, используемые во время сборки приложения из консоли утилитами командной строки: &GNU; configure и make или gmake. В отличие от конфигураций debug или optimized специальный каталог для сборки не используется. Приложение будет собираться в каталогах с исходным кодом. Для инструментов сборки (например, &gcc;) будут использоваться параметры по умолчанию. +default + +Термин «default» обозначает стандартные параметры, используемые во время сборки приложения из консоли утилитами командной строки: &GNU; configure и make или gmake. В отличие от конфигураций debug или optimized специальный каталог для сборки не используется. Приложение будет собираться в каталогах с исходным кодом. Для инструментов сборки (например, &gcc;) будут использоваться параметры по умолчанию. -Подумайте дважды прежде, чем выбирать конфигурацию default! - -Она не может использоваться параллельно с конфигурацией debug или optimized. Выполнение любой сборочной операции, использующей конфигурацию default, приведёт к невозможности использовать другие конфигурации. Это вызвано определёнными особенностями процесса создания файлов Makefile посредством automake и autoconf. +Подумайте дважды прежде, чем выбирать конфигурацию default! + +Она не может использоваться параллельно с конфигурацией debug или optimized. Выполнение любой сборочной операции, использующей конфигурацию default, приведёт к невозможности использовать другие конфигурации. Это вызвано определёнными особенностями процесса создания файлов Makefile посредством automake и autoconf. -Возникает вопрос: «А зачем вообще использовать разные конфигурации сборки, когда они даже выглядят несовместимыми друг с другом?» Ответ: они упрощают цикл «редактирование-компиляция-отладка». Дополнительные отладочные инструкции, добавляемые в двоичные файлы, а также хитроумные изменения в структуре программного кода при его оптимизации влияют на поведение программы во время выполнения. Поэтому во многих случаях, когда логическая структура некоторой подпрограммы кажется правильной, вы можете проверить, корректно ли её поведение в более реальных условиях. +Возникает вопрос: «А зачем вообще использовать разные конфигурации сборки, когда они даже выглядят несовместимыми друг с другом?» Ответ: они упрощают цикл «редактирование-компиляция-отладка». Дополнительные отладочные инструкции, добавляемые в двоичные файлы, а также хитроумные изменения в структуре программного кода при его оптимизации влияют на поведение программы во время выполнения. Поэтому во многих случаях, когда логическая структура некоторой подпрограммы кажется правильной, вы можете проверить, корректно ли её поведение в более реальных условиях. -Здесь как раз и могут пригодиться конфигурации сборки. Поскольку создаваемые объектные и исполняемые файлы, а также команды сборки, хранятся отдельно друг от друга, нужно обрабатывать только изменения исходного кода при переключении между конфигурациями. +Здесь как раз и могут пригодиться конфигурации сборки. Поскольку создаваемые объектные и исполняемые файлы, а также команды сборки, хранятся отдельно друг от друга, нужно обрабатывать только изменения исходного кода при переключении между конфигурациями. -Таким образом, вместо очистки и перекомпиляции заново с другими параметрами, вам нужно лишь переключиться с конфигурации debug на optimize, скомпилировать изменения исходного кода и протестировать приложение в других условиях, а в случае проблем просто переключиться обратно на debug и продолжить работу. +Таким образом, вместо очистки и перекомпиляции заново с другими параметрами, вам нужно лишь переключиться с конфигурации debug на optimize, скомпилировать изменения исходного кода и протестировать приложение в других условиях, а в случае проблем просто переключиться обратно на debug и продолжить работу. -Последнее замечание: многие параметры конфигурации сборки можно настраивать. Также можно определить свои конфигурации, если это требуется вашему процессу разработки. Мы рассмотрим эти возможности в следующем разделе. +Последнее замечание: многие параметры конфигурации сборки можно настраивать. Также можно определить свои конфигурации, если это требуется вашему процессу разработки. Мы рассмотрим эти возможности в следующем разделе. -Параметры конфигурации проекта - -Конфигурация приложения особенно важна при сборке с помощью &GNU; autotools. Она обычно осуществляется запуском configure с определёнными параметрами и/или специальными флагами в переменных окружения перед запуском configure (например, переменная CXXFLAGS, упоминавшаяся выше). - -Вы можете устанавливать бо́льшую часть параметров конфигурации проекта с помощью графического интерфейса, предлагаемого средой. Выберите команду меню Проект Параметры проекта и в открывшемся диалоге перейдите в раздел Параметры configure. +Параметры конфигурации проекта + +Конфигурация приложения особенно важна при сборке с помощью &GNU; autotools. Она обычно осуществляется запуском configure с определёнными параметрами и/или специальными флагами в переменных окружения перед запуском configure (например, переменная CXXFLAGS, упоминавшаяся выше). + +Вы можете устанавливать бо́льшую часть параметров конфигурации проекта с помощью графического интерфейса, предлагаемого средой. Выберите команду меню Проект Параметры проекта и в открывшемся диалоге перейдите в раздел Параметры configure. -Здесь могут быть определены почти все параметры configure. +Здесь могут быть определены почти все параметры configure. -Как видите, в этом разделе можно устанавливать довольно много параметров. Сейчас мы рассмотрим лишь малую их часть, касающуюся нашего проекта. Подробности читайте в главе «Настройка проектов». Если хотите узнать смысл различных устанавливаемых флагов, введите в консоли команду info make (или info:make в &konqueror;) и перейдите в раздел Implicit Rules Implicit Variables. - -Диалог имеет несколько вкладок. Вкладка Главное содержит часто используемые параметры, остальные вкладки — специфичные параметры компилятора. В любом случае, фактическое содержимое диалога определяется текущей конфигурацией сборки. - -Конфигурация сборки, чьи параметры должны быть определены, выбирается в выпадающем списке Конфигурация в верхней части диалога Параметры configure. +Как видите, в этом разделе можно устанавливать довольно много параметров. Сейчас мы рассмотрим лишь малую их часть, касающуюся нашего проекта. Подробности читайте в главе «Настройка проектов». Если хотите узнать смысл различных устанавливаемых флагов, введите в консоли команду info make (или info:make в &konqueror;) и перейдите в раздел Implicit Rules Implicit Variables. + +Диалог имеет несколько вкладок. Вкладка Главное содержит часто используемые параметры, остальные вкладки — специфичные параметры компилятора. В любом случае, фактическое содержимое диалога определяется текущей конфигурацией сборки. + +Конфигурация сборки, чьи параметры должны быть определены, выбирается в выпадающем списке Конфигурация в верхней части диалога Параметры configure. -Выбор конфигурации сборки. +Выбор конфигурации сборки. -Теперь выберите другую конфигурацию из выпадающего списка и обратите внимание, как меняется содержание, например, текстовых полей Параметры командной строки и Каталог сборки в соответствии с параметрами, о которых мы упоминали в списке конфигураций сборки выше. +Теперь выберите другую конфигурацию из выпадающего списка и обратите внимание, как меняется содержание, например, текстовых полей Параметры командной строки и Каталог сборки в соответствии с параметрами, о которых мы упоминали в списке конфигураций сборки выше. -Главное +Главное -На вкладке Главное находятся следующие параметры: +На вкладке Главное находятся следующие параметры: -Параметры командной строки -Это параметры, которые передаются в скрипт configure во время сборки. См. пример в разделе «Начальная настройка проекта «Hello». +Параметры командной строки +Это параметры, которые передаются в скрипт configure во время сборки. См. пример в разделе «Начальная настройка проекта «Hello». -Каталог сборки -Подкаталог в корне текущего проекта, куда среда будет помещать все создаваемые во время сборки файлы. В идеале он должен соответствовать названию используемой конфигурации сборки, но это необязательно. Главное, чтобы названия каталогов сборки разных конфигураций отличались друг от друга. +Каталог сборки +Подкаталог в корне текущего проекта, куда среда будет помещать все создаваемые во время сборки файлы. В идеале он должен соответствовать названию используемой конфигурации сборки, но это необязательно. Главное, чтобы названия каталогов сборки разных конфигураций отличались друг от друга. -Основной каталог с исходным кодом -Этот параметр используется нечасто. Он содержит название корневого каталога проекта и нуждается в переопределении только в том случае, если исходный код проекта находится в другом месте. +Основной каталог с исходным кодом +Этот параметр используется нечасто. Он содержит название корневого каталога проекта и нуждается в переопределении только в том случае, если исходный код проекта находится в другом месте. -Параметры препроцессора C/C++ (CPPFLAGS) -Это параметры препроцессора. Среда будет их использовать при установке значений временных переменных окружения перед вызовом инструментов сборки. См. пример в разделе «Начальная конфигурация проекта «Hello»». +Параметры препроцессора C/C++ (CPPFLAGS) +Это параметры препроцессора. Среда будет их использовать при установке значений временных переменных окружения перед вызовом инструментов сборки. См. пример в разделе «Начальная конфигурация проекта «Hello»». -Параметры компоновщика (LDFLAGS) -Это дополнительная информация для инструмента компоновки ld о том, где искать дополнительные библиотеки. Тоже входит в состав набора временных переменных окружения. +Параметры компоновщика (LDFLAGS) +Это дополнительная информация для инструмента компоновки ld о том, где искать дополнительные библиотеки. Тоже входит в состав набора временных переменных окружения. -Переменные окружения -Здесь вы можете определить дополнительные переменные, которые среда добавит в набор временных переменных окружения перед вызовом соответствующих инструментов сборки. Эти переменные определяются для каждой конфигурации индивидуально. +Переменные окружения +Здесь вы можете определить дополнительные переменные, которые среда добавит в набор временных переменных окружения перед вызовом соответствующих инструментов сборки. Эти переменные определяются для каждой конфигурации индивидуально. -Специфичные параметры компилятора +Специфичные параметры компилятора -Остальные вкладки диалога Параметры configure содержат параметры для компилятора. Они однотипно структурированы, поэтому достаточно рассмотреть вкладку C++. +Остальные вкладки диалога Параметры configure содержат параметры для компилятора. Они однотипно структурированы, поэтому достаточно рассмотреть вкладку C++. -Выбор компилятора и его переменных окружения. +Выбор компилятора и его переменных окружения. -Здесь можно устанавливать следующие параметры: +Здесь можно устанавливать следующие параметры: -Компилятор C++ -Компилятор, который среда должна использовать. Список содержит только те компиляторы, которые известны среде. +Компилятор C++ +Компилятор, который среда должна использовать. Список содержит только те компиляторы, которые известны среде. -Команда компилятора (CXX) -Этот параметр предназначен для опытных пользователей. Он нужен только, если используется нестандартный компилятор C++, и содержит команду его вызова. +Команда компилятора (CXX) +Этот параметр предназначен для опытных пользователей. Он нужен только, если используется нестандартный компилятор C++, и содержит команду его вызова. -Параметры компилятора (CXXFLAGS) -Здесь можно определить любые дополнительные параметры, которые среда передаст (через Makefile) компилятору. Некоторые значения параметров будут предустановлены в соответствии с выбранной в выпадающем списке Конфигурация конфигурацией сборки. +Параметры компилятора (CXXFLAGS) +Здесь можно определить любые дополнительные параметры, которые среда передаст (через Makefile) компилятору. Некоторые значения параметров будут предустановлены в соответствии с выбранной в выпадающем списке Конфигурация конфигурацией сборки. -Обратите внимание, многие общие параметры компилятора можно выбирать из диалога, открываемого нажатием кнопки ... справа от текстового поля. +Обратите внимание, многие общие параметры компилятора можно выбирать из диалога, открываемого нажатием кнопки ... справа от текстового поля. -Диалог для определения поведения компилятора &GNU; C++. +Диалог для определения поведения компилятора &GNU; C++. -На рисунке мы намеренно выделили вкладку Оптимизация. Обратите внимание, параметр Нет оптимизации был предустановлен (соответствуя параметру -O0 в конфигурации сборки debug). - -К сожалению, на данный момент вы не можете выбирать все параметры из данного диалога. Например, параметр -g3, используемый в конфигурации сборки debug, потребовалось бы изменять вручную, если бы это понадобилось. +На рисунке мы намеренно выделили вкладку Оптимизация. Обратите внимание, параметр Нет оптимизации был предустановлен (соответствуя параметру -O0 в конфигурации сборки debug). + +К сожалению, на данный момент вы не можете выбирать все параметры из данного диалога. Например, параметр -g3, используемый в конфигурации сборки debug, потребовалось бы изменять вручную, если бы это понадобилось. -Правила сборки проекта программой make - -Вы можете также настроить вызов программы make из среды во время сборки проекта. Выберите команду меню Проект Параметры проекта и в открывшемся диалоге выберите раздел Параметры make. Справа откроется диалог Параметры make. +Правила сборки проекта программой make + +Вы можете также настроить вызов программы make из среды во время сборки проекта. Выберите команду меню Проект Параметры проекта и в открывшемся диалоге выберите раздел Параметры make. Справа откроется диалог Параметры make. -Определите, как среда должна вызывать программу make. +Определите, как среда должна вызывать программу make. -На данный момент здесь особо нечего изменять. Единственный параметр, представляющий интерес в большинстве случаев — флажок Прервать после первой ошибки. В большинстве проектов он выключен. Это соответствует параметру -k программы gmake, который мы встречали во время начальной сборки нашего проекта. - -Это имеет смысл в среде такой, как &tdevelop;, которая будет протоколировать любые сообщения об ошибках во время сборки. После завершения процесса сборки, вы можете легко перемещаться между сообщениями с помощью боковой панели Сообщения. Используйте для этого команды меню Вид Следующая ошибка и Вид Предыдущая ошибка или соответственно клавишу F4 и комбинацию клавиш Shift F4. Среда будет автоматически активировать окно редактора файла исходного кода и устанавливать курсор на строку с ошибкой. - -С другой стороны, если вы хотите, чтобы сборка останавливалась при первой же ошибке, установите параметр Прервать после первой ошибки в этом диалоге. Тогда среда будет вызывать gmake без параметра -k. +На данный момент здесь особо нечего изменять. Единственный параметр, представляющий интерес в большинстве случаев — флажок Прервать после первой ошибки. В большинстве проектов он выключен. Это соответствует параметру -k программы gmake, который мы встречали во время начальной сборки нашего проекта. + +Это имеет смысл в среде такой, как &tdevelop;, которая будет протоколировать любые сообщения об ошибках во время сборки. После завершения процесса сборки, вы можете легко перемещаться между сообщениями с помощью боковой панели Сообщения. Используйте для этого команды меню Вид Следующая ошибка и Вид Предыдущая ошибка или соответственно клавишу F4 и комбинацию клавиш Shift F4. Среда будет автоматически активировать окно редактора файла исходного кода и устанавливать курсор на строку с ошибкой. + +С другой стороны, если вы хотите, чтобы сборка останавливалась при первой же ошибке, установите параметр Прервать после первой ошибки в этом диалоге. Тогда среда будет вызывать gmake без параметра -k. -Запуск исполняемого файла - -Когда сборка завершена, вы можете легко запускать приложение прямо из среды. Используйте для этого команду меню Сборка Выполнить программу, комбинацию клавиш Shift F9 или кнопку Выполнить программу на панели Панель инструментов «Сборка». +Запуск исполняемого файла + +Когда сборка завершена, вы можете легко запускать приложение прямо из среды. Используйте для этого команду меню Сборка Выполнить программу, комбинацию клавиш Shift F9 или кнопку Выполнить программу на панели Панель инструментов «Сборка». -Нажмите кнопку Выполнить программу на панели инструментов. +Нажмите кнопку Выполнить программу на панели инструментов. -Но где же находится запускаемый исполняемый файл? Как заставить среду добавить параметры при его вызове? Или как запустить приложение в терминале само по себе, чтобы проверить её интерактивное поведение в консоли? +Но где же находится запускаемый исполняемый файл? Как заставить среду добавить параметры при его вызове? Или как запустить приложение в терминале само по себе, чтобы проверить её интерактивное поведение в консоли? -Всё это определяется параметрами проекта. Выберите команду меню Проект Параметры проекта, а затем перейдите в раздел Параметры запуска. +Всё это определяется параметрами проекта. Выберите команду меню Проект Параметры проекта, а затем перейдите в раздел Параметры запуска. -Параметры местонахождения и запуска исполняемого файла программы. +Параметры местонахождения и запуска исполняемого файла программы. -В данном диалоге много параметров. Они собраны в четыре группы: +В данном диалоге много параметров. Они собраны в четыре группы: -Главная программа -Этот параметр определяет, где среда будет искать исполняемый файл программы для запуска. Возможны три варианта. +Главная программа +Этот параметр определяет, где среда будет искать исполняемый файл программы для запуска. Возможны три варианта. -Обратите внимание, что здесь определены только корневые каталоги. Среда обычно ищет исполняемый файл в одном из подкаталогов, указанных в следующей группе параметров. +Обратите внимание, что здесь определены только корневые каталоги. Среда обычно ищет исполняемый файл в одном из подкаталогов, указанных в следующей группе параметров. -Запуск из каталога, в котором исполняемый файл был создан в последний раз. Это значение по умолчанию. Оставьте его пока без изменений. +Запуск из каталога, в котором исполняемый файл был создан в последний раз. Это значение по умолчанию. Оставьте его пока без изменений. -Запуск из каталога сборки в соответствии с текущей конфигурацией сборки. Название этого каталога было установлено на вкладке Главное. +Запуск из каталога сборки в соответствии с текущей конфигурацией сборки. Название этого каталога было установлено на вкладке Главное. -Это корневой каталог, где среда будет искать исполняемый файл. Он меняется автоматически, в зависимости от выбора в меню Проект Конфигурации сборки. +Это корневой каталог, где среда будет искать исполняемый файл. Он меняется автоматически, в зависимости от выбора в меню Проект Конфигурации сборки. -Вместо того, чтобы запускать самую свежую сборку исполняемого файла в соответствии с параметром выше, это позволяет переключаться между запускаемыми программами, просто выбирая другую конфигурацию сборки в меню Проект. +Вместо того, чтобы запускать самую свежую сборку исполняемого файла в соответствии с параметром выше, это позволяет переключаться между запускаемыми программами, просто выбирая другую конфигурацию сборки в меню Проект. -Запуск исполняемого файла из указанного каталога. Снова, это только корневой каталог, в котором будет производиться поиск исполняемого файла. +Запуск исполняемого файла из указанного каталога. Снова, это только корневой каталог, в котором будет производиться поиск исполняемого файла. -Используйте этот вариант, если, например, хотите запускать уже установленную программу вместо её версии из каталогов проекта. +Используйте этот вариант, если, например, хотите запускать уже установленную программу вместо её версии из каталогов проекта. -Исполняемый файл -Этот параметр сообщает среде положение (относительно корневого каталога, определённого группой параметров, описанной выше) и название программы, которую нужно запускать. Дополнительно, вы можете определить аргументы, которые среда будет передавать программе при запуске. +Исполняемый файл +Этот параметр сообщает среде положение (относительно корневого каталога, определённого группой параметров, описанной выше) и название программы, которую нужно запускать. Дополнительно, вы можете определить аргументы, которые среда будет передавать программе при запуске. -Если текстовое поле Исполняемый файл оставить пустым, будут использоваться параметры активной цели диспетчера проектов. Хотя это параметр для опытных пользователей, нечаянно оставленный пустым, он может привести к проблемам. Проверьте его, если среда не запускает исполняемый файл. +Если текстовое поле Исполняемый файл оставить пустым, будут использоваться параметры активной цели диспетчера проектов. Хотя это параметр для опытных пользователей, нечаянно оставленный пустым, он может привести к проблемам. Проверьте его, если среда не запускает исполняемый файл. -Переменные окружения -Среда будет устанавливать определённые переменные окружения перед запуском программы. В этой группе параметров можно определить дополнительные переменные. +Переменные окружения +Среда будет устанавливать определённые переменные окружения перед запуском программы. В этой группе параметров можно определить дополнительные переменные. -Параметры -Два флажка внизу вкладки. +Параметры +Два флажка внизу вкладки. -Флажок Автоматически компилировать перед выполнением удобен в большинстве случаев. Среда будет проверять наличие изменений в проекте и выполнять необходимые действия по его конфигурации и сборке каждый раз, когда вы отдаёте команду выполнения программы. +Флажок Автоматически компилировать перед выполнением удобен в большинстве случаев. Среда будет проверять наличие изменений в проекте и выполнять необходимые действия по его конфигурации и сборке каждый раз, когда вы отдаёте команду выполнения программы. -Снимите этот флажок, если хотите запустить версию программы до последних изменений. +Снимите этот флажок, если хотите запустить версию программы до последних изменений. -Флажок Запускать во внешнем терминале полезен, если вы хотите тестировать ввод/вывод программ без графического интерфейса пользователя в эмуляторе терминала. По умолчанию он снят, и среда запускает программу в своём собственном окне без возможностей консольного ввода/вывода. +Флажок Запускать во внешнем терминале полезен, если вы хотите тестировать ввод/вывод программ без графического интерфейса пользователя в эмуляторе терминала. По умолчанию он снят, и среда запускает программу в своём собственном окне без возможностей консольного ввода/вывода. - + -Расширение проекта. Диспетчер проектов. +Расширение проекта. Диспетчер проектов. -(в процессе написания) +(в процессе написания) -Краткий обзор механизма automake +Краткий обзор механизма automake -(в процессе написания) - +(в процессе написания) + -Помещение значков в отдельный каталог. +Помещение значков в отдельный каталог. -(в процессе написания) - +(в процессе написания) + -Добавление новых классов +Добавление новых классов -(в процессе написания) +(в процессе написания) -Будьте осторожны, когда выбираете названия файлов классов. Потом их будет очень трудно изменить. - +Будьте осторожны, когда выбираете названия файлов классов. Потом их будет очень трудно изменить. + -Подпроект +Подпроект -(в процессе написания) +(в процессе написания) -Концентрация на работе: активная цель. +Концентрация на работе: активная цель. -(в процессе написания) - - +(в процессе написания) + + -Реструктуризация проекта +Реструктуризация проекта -(в процессе написания) - +(в процессе написания) + -Отладка +Отладка -(в процессе написания) - +(в процессе написания) + -О документации по проекта. - -&kde; использует docbook для генерации руководства пользователя по проекту. Руководство пользователя доступно через команду меню Справка Руководство пользователя Ваше приложение во время работы вашего приложения &kde;. После сборки проекта руководство пользователя появляется в Центре справки &kde;. Оно объясняет пользователю, как работает приложение, какими функциями обладает и как его настраивать. -Все шаблоны проектов &kde; в &tdevelop; имеют подкаталог, который содержит шаблон руководства пользователя index.docbook в папке «en». Его нужно отредактировать. Начните с изменения персональных данных: имени, адреса электронной почты и так далее. Посмотрите на комментарии в файле и попробуйте следовать их указаниям, они помогут вам сделать первые шаги в составлении документации. Пересоберите проект, чтобы увидеть изменения в руководстве вашего приложения. -Вам нужно установить проект командой меню Сборка Установить или Установить (с правами root), чтобы увидеть руководство пользователя вашего проекта в Центре справки KDE. -Дополнительная информация о синтаксисе docbook находится сайте документации &kde;. +О документации по проекта. + +&kde; использует docbook для генерации руководства пользователя по проекту. Руководство пользователя доступно через команду меню Справка Руководство пользователя Ваше приложение во время работы вашего приложения &kde;. После сборки проекта руководство пользователя появляется в Центре справки &kde;. Оно объясняет пользователю, как работает приложение, какими функциями обладает и как его настраивать. +Все шаблоны проектов &kde; в &tdevelop; имеют подкаталог, который содержит шаблон руководства пользователя index.docbook в папке «en». Его нужно отредактировать. Начните с изменения персональных данных: имени, адреса электронной почты и так далее. Посмотрите на комментарии в файле и попробуйте следовать их указаниям, они помогут вам сделать первые шаги в составлении документации. Пересоберите проект, чтобы увидеть изменения в руководстве вашего приложения. +Вам нужно установить проект командой меню Сборка Установить или Установить (с правами root), чтобы увидеть руководство пользователя вашего проекта в Центре справки KDE. +Дополнительная информация о синтаксисе docbook находится сайте документации &kde;. -Последнее, но не менее важное — комбинации клавиш +Последнее, но не менее важное — комбинации клавиш -(в процессе написания) +(в процессе написания) -Что дальше +Что дальше -(в процессе написания) +(в процессе написания) -Часто возникающие проблемы +Часто возникающие проблемы -Краткий обзор -Страницы вопросов и ответов -Форум -Списки рассылки +Краткий обзор +Страницы вопросов и ответов +Форум +Списки рассылки -Работа с проектами +Работа с проектами -(в процессе написания) +(в процессе написания) -Использование существующих проектов &tdevelop; +Использование существующих проектов &tdevelop; -(в процессе написания) +(в процессе написания) -Импорт внешних проектов +Импорт внешних проектов -(в процессе написания) +(в процессе написания) diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/index.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/index.docbook index d0c679fa14e..4568f6cef69 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/index.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/index.docbook @@ -1,72 +1,33 @@ KDevelop" -> --> + - Apache"> - API"> + Apache"> + API"> - autoconf"> - automake"> + autoconf"> + automake"> - ctags"> - CVS"> + ctags"> + CVS"> - Doxygen"> - doxywizard"> - egrep"> - grep"> - HTML"> - IDE"> - libtool"> + Doxygen"> + doxywizard"> + egrep"> + grep"> + HTML"> + IDE"> + libtool"> - Python"> - Perl"> - PHP"> + Python"> + Perl"> + PHP"> - Qt/embedded"> - ssh"> + Qt/embedded"> + ssh"> @@ -104,8 +65,7 @@ - + ]> + --> + --> - + -Библиография +Библиография -(... в процессе написания ...) +(... в процессе написания ...) -<ulink url="info://make/Top" ->Руководство по GNU Make</ulink -> +<ulink url="info://make/Top">Руководство по GNU Make</ulink> -Richard M.Stallman -RolandMcGrath +Richard M.Stallman +RolandMcGrath -<ulink url="info://automake/Top" ->GNU Automake</ulink -> +<ulink url="info://automake/Top">GNU Automake</ulink> -DavidMacKenzie -TomTromey +DavidMacKenzie +TomTromey -<ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -> +<ulink url="info://autoconf/Top">GNU Autoconf</ulink> -DavidMacKenzie -BenElliston +DavidMacKenzie +BenElliston -<ulink url="info://gcc/Top" ->Использование компилятора GNU</ulink -> -Richard M.Stallman +<ulink url="info://gcc/Top">Использование компилятора GNU</ulink> +Richard M.Stallman -<ulink url="info://libtool/Top" ->GNU Libtool</ulink -> +<ulink url="info://libtool/Top">GNU Libtool</ulink> -GordonMatzigkeit -AlexandreOliva -ThomasTanner -Gary V.Vaughan +GordonMatzigkeit +AlexandreOliva +ThomasTanner +Gary V.Vaughan -Руководства по GNU Autoconf, Automake и Libtool -1st edition -October 2000 +Руководства по GNU Autoconf, Automake и Libtool +1st edition +October 2000 -Gary V.Vaughan -BenElliston -TomTromey -Ian LanceTaylor +Gary V.Vaughan +BenElliston +TomTromey +Ian LanceTaylor -New Riders Publishing -ISBN 1578701902 +New Riders Publishing +ISBN 1578701902 -Искусство программирования в среде UNIX (Advanced Programming in the &UNIX; Environment) -1st edition -June 1992 -W. RichardStevens -Addison-Wesley Pub Co -ISBN 0201563177 +Искусство программирования в среде UNIX (Advanced Programming in the &UNIX; Environment) +1st edition +June 1992 +W. RichardStevens +Addison-Wesley Pub Co +ISBN 0201563177 -Мыслим в стиле C++, Том 1: Введение в стандартный C++ (Thinking in C++, Volume 1: Introduction to Standard C++) -2nd Edition -April 15, 2000 -BruceEckel -Prentice Hall -ISBN 0139798099 +Мыслим в стиле C++, Том 1: Введение в стандартный C++ (Thinking in C++, Volume 1: Introduction to Standard C++) +2nd Edition +April 15, 2000 +BruceEckel +Prentice Hall +ISBN 0139798099 -Разработка на основе открытого исходного кода с CVS (Open Source Development with CVS) -2nd Edition -October 12, 2001 +Разработка на основе открытого исходного кода с CVS (Open Source Development with CVS) +2nd Edition +October 12, 2001 -KarlFogel -MosheBar +KarlFogel +MosheBar -The Coriolis Group -ISBN 158880173X +The Coriolis Group +ISBN 158880173X -Программирование на PHP (Programming PHP) -1st edition -March 2002 +Программирование на PHP (Programming PHP) +1st edition +March 2002 -RasmusLerdorf -KevinTatroe +RasmusLerdorf +KevinTatroe -O'Reilly & Associates -ISBN 1565926102 +O'Reilly & Associates +ISBN 1565926102 -Программирование на Python (Programming Python) -2nd Edition -March 2001 -MarkLutz -O'Reilly & Associates -ISBN 0596000855 +Программирование на Python (Programming Python) +2nd Edition +March 2001 +MarkLutz +O'Reilly & Associates +ISBN 0596000855 -Программирование графического интерфейса на Python с использованием Qt (Gui Programming With Python : Using the Qt Toolkit) -Bk&Cd-r edition -January 2002 -BoudewijnRempt -Opendocs Llc -ISBN 0970033044 +Программирование графического интерфейса на Python с использованием Qt (Gui Programming With Python : Using the Qt Toolkit) +Bk&Cd-r edition +January 2002 +BoudewijnRempt +Opendocs Llc +ISBN 0970033044 -Программирование на Perl (Programming Perl) -Книга с верблюдом (Camel book) -3rd Edition -July 2000 +Программирование на Perl (Programming Perl) +Книга с верблюдом (Camel book) +3rd Edition +July 2000 -LarryWall -TomChristiansen -JonOrwant +LarryWall +TomChristiansen +JonOrwant -O'Reilly & Associates -ISBN 0596000278 +O'Reilly & Associates +ISBN 0596000278 -Изучаем Perl (Learning Perl) -Книга с ламой (Lama book) -3rd Edition -July 15, 2001 +Изучаем Perl (Learning Perl) +Книга с ламой (Lama book) +3rd Edition +July 15, 2001 -Randal L.Schwartz -TomPhoenix +Randal L.Schwartz +TomPhoenix -O'Reilly & Associates -ISBN 0596001320 +O'Reilly & Associates +ISBN 0596001320 - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/nutshell.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/nutshell.docbook index 3d7c3078838..838bbca53c3 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/nutshell.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/nutshell.docbook @@ -1,6 +1,5 @@ -Вкратце — Советы и подсказки +Вкратце — Советы и подсказки -В этой главе описывается начальная информация об оболочке. Кроме того, указаны советы по решению часто встречающихся проблем при работе с &tdevelop;. -Для получения более подробной информации следуйте по ссылкам, с которых начинаются советы. -Информация по этим темам: +В этой главе описывается начальная информация об оболочке. Кроме того, указаны советы по решению часто встречающихся проблем при работе с &tdevelop;. +Для получения более подробной информации следуйте по ссылкам, с которых начинаются советы. +Информация по этим темам: - Внешний вид - Проекты - Сборка - &automanag; - Проблемы компиляции - Другие темы + Внешний вид + Проекты + Сборка + &automanag; + Проблемы компиляции + Другие темы -Внешний вид +Внешний вид -Уменьшение размера вкладок отображений в режиме IDEAl +Уменьшение размера вкладок отображений в режиме IDEAl -По умолчанию &tdevelop; запускаются со слишком большими полосами названий вкладок по краям рабочей области. Вы можете изменить это через пункт меню Настройка Настроить KDevelop... Интерфейс пользователя). -Если у вас более старая версия &tdevelop; 3, это можно изменить вводом параметра MDIStyle в разделе [UI] файла $TDEHOME/share/config/tdeveloprc: +По умолчанию &tdevelop; запускаются со слишком большими полосами названий вкладок по краям рабочей области. Вы можете изменить это через пункт меню Настройка Настроить KDevelop... Интерфейс пользователя). +Если у вас более старая версия &tdevelop; 3, это можно изменить вводом параметра MDIStyle в разделе [UI] файла $TDEHOME/share/config/tdeveloprc: -: только значки -: только текст (по умолчанию) - -: значки и текст +: только значки +: только текст (по умолчанию) + +: значки и текст - -Стиль отображения + +Стиль отображения -Если вы заметите разноцветные буквы в любом месте (на вкладках и т.д.) и &tdevelop;, похоже, использует неверный стиль отображения: +Если вы заметите разноцветные буквы в любом месте (на вкладках и т.д.) и &tdevelop;, похоже, использует неверный стиль отображения: -В $TDEHOME/share/config/tdeveloprc найдите строку с Style=Checkedи удалите её. Перезапустите &tdevelop;. +В $TDEHOME/share/config/tdeveloprc найдите строку с Style=Checkedи удалите её. Перезапустите &tdevelop;. -(это может случится, если вы щёлкнули в файловом менеджере на файле с расширением .ui и &tdevelop; загрузил KUIViewer для показа &GUI;, описанного в этом файле). +(это может случится, если вы щёлкнули в файловом менеджере на файле с расширением .ui и &tdevelop; загрузил KUIViewer для показа &GUI;, описанного в этом файле). -Полноэкранный режим +Полноэкранный режим -Для переключения в этот режим (или возврата из него), выберите пункт меню Вид Полноэкранный режим или нажмите Ctrl Shift F . +Для переключения в этот режим (или возврата из него), выберите пункт меню Вид Полноэкранный режим или нажмите Ctrl Shift F . -Скрытие и показ меню +Скрытие и показ меню -Для того чтобы скрыть меню, выберите пункт Настройка Показать меню или нажмите Ctrl M . Чтобы вернуть меню, повторно нажмите Ctrl M. +Для того чтобы скрыть меню, выберите пункт Настройка Показать меню или нажмите Ctrl M . Чтобы вернуть меню, повторно нажмите Ctrl M. -Проекты +Проекты -Создание нового проекта +Создание нового проекта -Выбор пункта меню Проект Новый проект... приведёт к запуску Мастера приложений. +Выбор пункта меню Проект Новый проект... приведёт к запуску Мастера приложений. -Создание специального проекта +Создание специального проекта -Нет прямого пути для создания специального проекта (проекта, который использует внешние файлы сборки). Воспользуйтесь пунктом меню Проект Импортировать существующий проект. Не забудьте установить соответствующий тип проекта, название которого должно содержать (Custom Makefiles) в появившемся диалоге. +Нет прямого пути для создания специального проекта (проекта, который использует внешние файлы сборки). Воспользуйтесь пунктом меню Проект Импортировать существующий проект. Не забудьте установить соответствующий тип проекта, название которого должно содержать (Custom Makefiles) в появившемся диалоге. -Использование опций проекта +Использование опций проекта -После создания нового проекта не забудьте настроить его через пункт меню Проект Параметры проекта.... +После создания нового проекта не забудьте настроить его через пункт меню Проект Параметры проекта.... -Компиляция +Компиляция -Не показывать детали в общем потоке сообщений +Не показывать детали в общем потоке сообщений -Если в процессе сборки вы не можете уследить за важной информацией, отображаемой в панели вывода, уменьшите объём показываемой информации правым щелчком в окне сообщений. +Если в процессе сборки вы не можете уследить за важной информацией, отображаемой в панели вывода, уменьшите объём показываемой информации правым щелчком в окне сообщений. -<link linkend="automake-manager" ->&automanag;</link -> +<link linkend="automake-manager">&automanag;</link> -Создание файлов в проекте +Создание файлов в проекте -Выберите подпроект в верхней части окна &automanag; и в контекстном меню группы (в нижней части окна), в которую нужно добавить файлы, выберите Создать файл.... +Выберите подпроект в верхней части окна &automanag; и в контекстном меню группы (в нижней части окна), в которую нужно добавить файлы, выберите Создать файл.... -Добавление существующих файлов в проект +Добавление существующих файлов в проект -Выберите подпроект в верхней части окна &automanag;, вызовите контекстное меню групп в нижней части и выберите Добавить существующие файлы.... +Выберите подпроект в верхней части окна &automanag;, вызовите контекстное меню групп в нижней части и выберите Добавить существующие файлы.... -Удаление файла из проекта +Удаление файла из проекта -Выберите подпроект в верхней части окна &automanag;, вызовите контекстное меню групп в нижней части и выберите Удалить. +Выберите подпроект в верхней части окна &automanag;, вызовите контекстное меню групп в нижней части и выберите Удалить. -Ошибки компиляции/сборки +Ошибки компиляции/сборки -Проект не собирается после переключения в/из цели по умолчанию +Проект не собирается после переключения в/из цели по умолчанию -Это проблема с механизмом &automake;/&autoconf;. Если подменю Проект Конфигурация сборкисодержит три пункта:default, optimized и debug, переключитесь на default или на debug/optimized. +Это проблема с механизмом &automake;/&autoconf;. Если подменю Проект Конфигурация сборкисодержит три пункта:default, optimized и debug, переключитесь на default или на debug/optimized. -Если вы выбрали default, сборка debug/optimzed производиться не будет. +Если вы выбрали default, сборка debug/optimzed производиться не будет. -Если вы выбрали debug/optimzed, сборка default производиться не будет. +Если вы выбрали debug/optimzed, сборка default производиться не будет. -Ошибка Wrong autoconf version и т.д. +Ошибка Wrong autoconf version и т.д. -Есть несколько сообщений об ошибке относительно устаревших версий autoconf и т.д., приводящих к неправильной работе configure. Запустите autoreconf в каталоге с файлами configure.in. Эта команда попытается обновить информацию о файлах Сборочной системы &GNU;. Для подробностей см. man autoreconf. +Есть несколько сообщений об ошибке относительно устаревших версий autoconf и т.д., приводящих к неправильной работе configure. Запустите autoreconf в каталоге с файлами configure.in. Эта команда попытается обновить информацию о файлах Сборочной системы &GNU;. Для подробностей см. man autoreconf. -Другие темы +Другие темы -Конфигурационные файлы, используемые в &tdevelop; +Конфигурационные файлы, используемые в &tdevelop; -В большинстве случаев, это не понадобится, но всё это может быть полезным если с программой что-то не так. - +В большинстве случаев, это не понадобится, но всё это может быть полезным если с программой что-то не так. + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/plugin-tools.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/plugin-tools.docbook index baf87081da8..7768ea02e0d 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/plugin-tools.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/plugin-tools.docbook @@ -1,532 +1,211 @@ -Подключаемый инструментарий +Подключаемый инструментарий - модули - -&tdevelop; содержит большое количество небольших инструментов, помогающих вам быстрее выполнить определённую задачу. Большинство из них реализованы в виде модулей. Это значит, что если они вам не нужны, вы можете их отключить их. -Это также значит, что если если вам не хватает каких-то функций, которые по-идее должны присутствовать в программе подобного рода, возможно они уже реализованы в виде модуля, отключенного по умолчанию. Например, в меню Файл может присутствовать пункт "Быстрое открытие", но только если включен соответствующий параметр в окне Проект-Параметры проекта. + модули + +&tdevelop; содержит большое количество небольших инструментов, помогающих вам быстрее выполнить определённую задачу. Большинство из них реализованы в виде модулей. Это значит, что если они вам не нужны, вы можете их отключить их. +Это также значит, что если если вам не хватает каких-то функций, которые по-идее должны присутствовать в программе подобного рода, возможно они уже реализованы в виде модуля, отключенного по умолчанию. Например, в меню Файл может присутствовать пункт "Быстрое открытие", но только если включен соответствующий параметр в окне Проект-Параметры проекта. -Все модули реализуют класс KDevPlugin, определяемый в lib/interfaces/kdevplugin.h. Далее приведена выдержка из комментария к нему. - -Базовым классом для всех модулей KDevelop является KDevPlugin. Модуль - это компонент, загружаемый в среде KDevelop во время её запуска или по запросу. Каждый модуль имеет свою область действия, они делятся на: -Базовые -Глобальные -Модули работы с проектами +Все модули реализуют класс KDevPlugin, определяемый в lib/interfaces/kdevplugin.h. Далее приведена выдержка из комментария к нему. + +Базовым классом для всех модулей KDevelop является KDevPlugin. Модуль - это компонент, загружаемый в среде KDevelop во время её запуска или по запросу. Каждый модуль имеет свою область действия, они делятся на: +Базовые +Глобальные +Модули работы с проектами -Базовые (Core) модули - это глобальные модули с важной функциональностью, и поэтому их отключение в настройках невозможно. - -Для глобальных модулей требуется только сама среда KDevelop, интерфейс KDevProject и какие-либо данные, относящиеся к проектам, ими не используются. Например, модуль uimode позволяет выбирать графический интерфейс для среды разработки. - -Модули работы с проектами требуют наличия загруженного проекта и, обычно, сами загружаются/освобождаются вместе с проектами. Пример такого модуля - Менеджер Automake - загружается только при открытии проектов, использующих Automake для сборки. - -Как уже сказано выше, базовые модули не могут быть отключены. Отключить и включить глобальные модули можно в окне Настройка Настроить KDevelop..., на странице Модули. Модули работы с проектами включаются и отключаются в окне Проект Параметры проекта..., также на странице Модули. Загруженные модули могут влиять на многие параметры KDevelop. Например, они могут добавлять новые меню, панели инструментов, комбинации клавиш. - -Отключенные модули не добавляют свои элементы в меню и вообще не загружаются в память. - - -Ниже приведен список модулей, сгенерированный сценарием listplugins.sh. Для каждого модуля имеется файл .desktop с информацией нём, такой как его имя и описание, оно и приводится в списке. -Модули сгруппированы по области действия (базовые, глобальные, работы с проектами). - -Базовые модули +Базовые (Core) модули - это глобальные модули с важной функциональностью, и поэтому их отключение в настройках невозможно. + +Для глобальных модулей требуется только сама среда KDevelop, интерфейс KDevProject и какие-либо данные, относящиеся к проектам, ими не используются. Например, модуль uimode позволяет выбирать графический интерфейс для среды разработки. + +Модули работы с проектами требуют наличия загруженного проекта и, обычно, сами загружаются/освобождаются вместе с проектами. Пример такого модуля - Менеджер Automake - загружается только при открытии проектов, использующих Automake для сборки. + +Как уже сказано выше, базовые модули не могут быть отключены. Отключить и включить глобальные модули можно в окне Настройка Настроить KDevelop..., на странице Модули. Модули работы с проектами включаются и отключаются в окне Проект Параметры проекта..., также на странице Модули. Загруженные модули могут влиять на многие параметры KDevelop. Например, они могут добавлять новые меню, панели инструментов, комбинации клавиш. + +Отключенные модули не добавляют свои элементы в меню и вообще не загружаются в память. + + +Ниже приведен список модулей, сгенерированный сценарием listplugins.sh. Для каждого модуля имеется файл .desktop с информацией нём, такой как его имя и описание, оно и приводится в списке. +Модули сгруппированы по области действия (базовые, глобальные, работы с проектами). + +Базовые модули - -Мастер приложений -Мастер приложений - -Просмотрщик различий -Просмотрщик различий - -Мастер создания файлов -Мастер создания файлов - -Полноэкранный режим -Полноэкранный режим - -Полезный совет -Полезный совет - -Выбор интерфейса пользователя -Предоставляет диалог выбора режима интерфейса пользователя. - -VCSManager -Управление системами контроля версий + +Мастер приложений +Мастер приложений + +Просмотрщик различий +Просмотрщик различий + +Мастер создания файлов +Мастер создания файлов + +Полноэкранный режим +Полноэкранный режим + +Полезный совет +Полезный совет + +Выбор интерфейса пользователя +Предоставляет диалог выбора режима интерфейса пользователя. + +VCSManager +Управление системами контроля версий -Глобальные модули +Глобальные модули - -Расшифровщик сокращений -Предоставляет поддержку для настраиваемых сокращений - коротких слов, которые заменяются на часто используемые структуры кода. - -Документирование -Модуль документации позволяет упростить работу с документацией. - -Список файлов -Список открытых в данных момент файлов (полезно, когда они не помещаются на панели вкладок). - -Селектор файлов -Средство просмотра списка файлов с поддержкой работы по сети. - -Фильтрация и вставка с помощью команд оболочки -Предоставляет функции работы с текстом в редакторе с использованием утилит командной строки. - -Интеграция Grep -Интегрирует "find|grep" в KDevelop - позволяет производить быстрый поиск по нескольким файлам с использованием шаблонов или регулярных выражений. - -Встроенный эмулятор терминала -Предоставляет встроенную консоль для быстрого вызова командной строки. - -Дополнение меню "Открыть с помощью" -Этот модуль предоставляет различные возможности открытия файлов, используя контекстные меню KDevelop. - -Средство опроса компонентов -Графическое средство для выполнения запросов TDETrader о зарегистрированных службах. - -Проверка регулярных выражений -Средство для определения и проверки регулярных выражений на предмет соответствия их наиболее распространённым вариантам синтаксиса. - -Замена по проекту -Этот модуль предоставляет интерактивные возможности поиска и замены по файлам в проекте. Сначала проводится поиск по строке или регулярному выражению, далее выбор с предпросмотром и применение замен из списка доступных вариантов. - -Сценарии -Модуль сценариев позволяет автоматизировать работу с помощью KScript - -Заготовки кода -Модуль сохранения часто используемых частей кода в одно место для быстрого доступа к ним - -Отображение структуры текста -Отображает структуру документов в формате HTML и TEX, а также предоставляет возможности навигации по ним. - -Дополнение меню инструментов -Предоставляет возможности добавления в меню пунктов вызова внешних приложений. - -Интерфейс к Valgrind -Valgrind - это средство нахождения проблем управления памятью в программах. http://developer.kde.org/~sewardj/ + +Расшифровщик сокращений +Предоставляет поддержку для настраиваемых сокращений - коротких слов, которые заменяются на часто используемые структуры кода. + +Документирование +Модуль документации позволяет упростить работу с документацией. + +Список файлов +Список открытых в данных момент файлов (полезно, когда они не помещаются на панели вкладок). + +Селектор файлов +Средство просмотра списка файлов с поддержкой работы по сети. + +Фильтрация и вставка с помощью команд оболочки +Предоставляет функции работы с текстом в редакторе с использованием утилит командной строки. + +Интеграция Grep +Интегрирует "find|grep" в KDevelop - позволяет производить быстрый поиск по нескольким файлам с использованием шаблонов или регулярных выражений. + +Встроенный эмулятор терминала +Предоставляет встроенную консоль для быстрого вызова командной строки. + +Дополнение меню "Открыть с помощью" +Этот модуль предоставляет различные возможности открытия файлов, используя контекстные меню KDevelop. + +Средство опроса компонентов +Графическое средство для выполнения запросов TDETrader о зарегистрированных службах. + +Проверка регулярных выражений +Средство для определения и проверки регулярных выражений на предмет соответствия их наиболее распространённым вариантам синтаксиса. + +Замена по проекту +Этот модуль предоставляет интерактивные возможности поиска и замены по файлам в проекте. Сначала проводится поиск по строке или регулярному выражению, далее выбор с предпросмотром и применение замен из списка доступных вариантов. + +Сценарии +Модуль сценариев позволяет автоматизировать работу с помощью KScript + +Заготовки кода +Модуль сохранения часто используемых частей кода в одно место для быстрого доступа к ним + +Отображение структуры текста +Отображает структуру документов в формате HTML и TEX, а также предоставляет возможности навигации по ним. + +Дополнение меню инструментов +Предоставляет возможности добавления в меню пунктов вызова внешних приложений. + +Интерфейс к Valgrind +Valgrind - это средство нахождения проблем управления памятью в программах. http://developer.kde.org/~sewardj/ -Модули работы с проектами +Модули работы с проектами - -Модуль Аннотации -Модуль Аннотации - -Форматировщик исходного кода -Модуль для форматирования кода по установленным правилам. - -Закладки -Модуль, который обеспечивает навигацию и просмотр активных закладок в коде, а также их сохранение в проекте. - -Обзор классов -Этот модуль отображает список классов в проекте, включая методы и атрибуты а также предоставляет возможности навигации по коду. - -CopyTo -Простой модуль передачи файлов на сервер, с помощью TDEIO. - -Интерфейс к CTags -CTags - это средство навигации по коду, поддерживающее многие языки. Будучи загружено, оно предоставляет контекстное меню для нахождения описания и определения типа выбранного символа, а также диалог запроса. http://ctags.sourceforge.net/ - -Сборка и распространение пакетов -Помогает в сборке и распространении пакетов программ. В данное время поддерживается только формат RPM. - -Поддержка Doxygen -Модуль поддержки doxygen предоставляет возможности контроля генерации проектной документации на основе содержимого исходных файлов. Для использования необходим doxygen. Подробнее об этом смотрите на http://www.doxygen.org. - -QuickOpen -Предоставляет эффективное средство нахождения и открытия файлов и классов в больших проектах. - -Проверка безопасности -Проверка безопасности кода + +Модуль Аннотации +Модуль Аннотации + +Форматировщик исходного кода +Модуль для форматирования кода по установленным правилам. + +Закладки +Модуль, который обеспечивает навигацию и просмотр активных закладок в коде, а также их сохранение в проекте. + +Обзор классов +Этот модуль отображает список классов в проекте, включая методы и атрибуты а также предоставляет возможности навигации по коду. + +CopyTo +Простой модуль передачи файлов на сервер, с помощью TDEIO. + +Интерфейс к CTags +CTags - это средство навигации по коду, поддерживающее многие языки. Будучи загружено, оно предоставляет контекстное меню для нахождения описания и определения типа выбранного символа, а также диалог запроса. http://ctags.sourceforge.net/ + +Сборка и распространение пакетов +Помогает в сборке и распространении пакетов программ. В данное время поддерживается только формат RPM. + +Поддержка Doxygen +Модуль поддержки doxygen предоставляет возможности контроля генерации проектной документации на основе содержимого исходных файлов. Для использования необходим doxygen. Подробнее об этом смотрите на http://www.doxygen.org. + +QuickOpen +Предоставляет эффективное средство нахождения и открытия файлов и классов в больших проектах. + +Проверка безопасности +Проверка безопасности кода -Модули &tdevelop; для управления проектом - +Модули &tdevelop; для управления проектом + - antproject - ANT (&Java;) + antproject + ANT (&Java;) - autoproject - Automake + autoproject + Automake - customproject - Специальный проект + customproject + Специальный проект - trollproject - Менеджер проектов, основанный на QMake + trollproject + Менеджер проектов, основанный на QMake - +
-Модули &tdevelop; по поддержке языков программирования +Модули &tdevelop; по поддержке языков программирования -cppsupportПоддержка C/C++ -fortransupportПоддержка Fortran -javasupportПоддержка &Java; -perlsupportПоддержка Perl -phpsupportПоддержка PHP -pythonsupportПоддержка Python - +cppsupportПоддержка C/C++ +fortransupportПоддержка Fortran +javasupportПоддержка &Java; +perlsupportПоддержка Perl +phpsupportПоддержка PHP +pythonsupportПоддержка Python +
-Далее некоторые модули будут рассмотрены более подробно +Далее некоторые модули будут рассмотрены более подробно -Модуль <command ->abbrev</command -> -abbrev - -Этот модуль заменяет сокращения на часто используемые части кода. Он активируется нажатием Ctrl Пробел. Например, вы ввели "ife" в редактор языка C++. Теперь нажмите CtrlПробел, и вы получите шаблон кода if-else. Набор поддерживаемых сокращений зависит от языка программирования. Например, для PHP вам вряд ли будут интересны сокращения кода для &Java;. +Модуль <command>abbrev</command> +abbrev + +Этот модуль заменяет сокращения на часто используемые части кода. Он активируется нажатием Ctrl Пробел. Например, вы ввели "ife" в редактор языка C++. Теперь нажмите CtrlПробел, и вы получите шаблон кода if-else. Набор поддерживаемых сокращений зависит от языка программирования. Например, для PHP вам вряд ли будут интересны сокращения кода для &Java;. -Набор сокращений можно настраивать. Если модуль активен, то это можно сделать в окне Настройка Настроить KDevelop..., вкладка Сокращения +Набор сокращений можно настраивать. Если модуль активен, то это можно сделать в окне Настройка Настроить KDevelop..., вкладка Сокращения -Модуль <command ->filter</command -> -filter - -Предоставляет две функции. Сервис Выполнить команду позволяет ввести команду оболочки. После нажатия на кнопке Запуск вывод команды будет помещён в буфер обмена. +Модуль <command>filter</command> +filter + +Предоставляет две функции. Сервис Выполнить команду позволяет ввести команду оболочки. После нажатия на кнопке Запуск вывод команды будет помещён в буфер обмена. -Вторая функция доступна через пункт меню СервисФильтровать выделение через команду.... Для её использования выделите текст в редакторе. Выделенный текст будет передан на стандартный ввод указанной команде, а в вместо него будет вставлен вывод команды. - -Например, принаписании документации часто требуется ссылаться на команды меню. Например, для команды Скопировать из меню Правка нужно написать: <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>. Но значительно проще ввести просто "Edit - Copy" и оставить утомительную работу по вставку тегов компьютеру. Для этого напишем маленький сценарий и сохраним его в файле с именем mef в домашнем каталоге: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ Сделаем его исполняемым. Теперь ведите и выделите текст "Edit - Copy", затем вызовите меню СервисФильтровать выделение через команду... и запустите ~/mef. "Edit - Copy" будет заменено таким текстом: <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> +Вторая функция доступна через пункт меню СервисФильтровать выделение через команду.... Для её использования выделите текст в редакторе. Выделенный текст будет передан на стандартный ввод указанной команде, а в вместо него будет вставлен вывод команды. + +Например, принаписании документации часто требуется ссылаться на команды меню. Например, для команды Скопировать из меню Правка нужно написать: <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>. Но значительно проще ввести просто "Edit - Copy" и оставить утомительную работу по вставку тегов компьютеру. Для этого напишем маленький сценарий и сохраним его в файле с именем mef в домашнем каталоге: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ Сделаем его исполняемым. Теперь ведите и выделите текст "Edit - Copy", затем вызовите меню СервисФильтровать выделение через команду... и запустите ~/mef. "Edit - Copy" будет заменено таким текстом: <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> @@ -534,192 +213,75 @@ -Модуль &doxygen; -&doxygen; -средство документирования -API-документация - -Упрощает использования средства API-документирования &doxygen; (). Проект Запустить Doxygen приведёт к генерированию API-документации к текущему проекту, основываясь на конфигурационном файле Doxyfile в каталоге проекта. +Модуль &doxygen; +&doxygen; +средство документирования +API-документация + +Упрощает использования средства API-документирования &doxygen; (). Проект Запустить Doxygen приведёт к генерированию API-документации к текущему проекту, основываясь на конфигурационном файле Doxyfile в каталоге проекта. -Более того, вы можете настроить &doxygen; через диалог Проект Параметры проекта.... Он подобен мастеру &doxywizard;. +Более того, вы можете настроить &doxygen; через диалог Проект Параметры проекта.... Он подобен мастеру &doxywizard;. -Модуль &ctags; -&ctags; - -Этот инструмент является расширением обзора классов, основанным на программе ctags, и поддерживает больше языков программирования. +Модуль &ctags; +&ctags; + +Этот инструмент является расширением обзора классов, основанным на программе ctags, и поддерживает больше языков программирования. -Активируйте модуль через меню Сервис CTags.... При первом запуске, вам будет предложено создать базу данных поиска. При этом в каталоге проекта будет создан файл tags. Это текстовый файл со списком идентификаторов исходных файлов проекта. - -В такой базе данных вы можете выполнять поиск двумя способами: если Совпадение с регулярным выражением включено, вводимый вами текст будет интерпретироваться как регулярное выражение (стандарта POSIX) и сравниваться в существующими идентификаторами. Например, текст .*Widget приведёт к поиску всех идентификаторов, заканчивающихся на Widget. Иначе, поиск будет дословным. - -При поиске будет выводиться список подходящих идентификаторов, сопровождающийся номерами строк с их объявлениями. Чтобы перейти к объявлению, щёлкните на идентификаторе. - -Для некоторых языков программирования, &ctags; распознаёт разные типы идентификаторов. например, в Python есть классы и функции, и вы можете выборочно искать отдельно либо классы, либо функции. - -База данных не обновляется каждый раз при изменении исходников. Поэтому вам нужно самостоятельно периодично обновлять её с помощью кнопки Обновить. +Активируйте модуль через меню Сервис CTags.... При первом запуске, вам будет предложено создать базу данных поиска. При этом в каталоге проекта будет создан файл tags. Это текстовый файл со списком идентификаторов исходных файлов проекта. + +В такой базе данных вы можете выполнять поиск двумя способами: если Совпадение с регулярным выражением включено, вводимый вами текст будет интерпретироваться как регулярное выражение (стандарта POSIX) и сравниваться в существующими идентификаторами. Например, текст .*Widget приведёт к поиску всех идентификаторов, заканчивающихся на Widget. Иначе, поиск будет дословным. + +При поиске будет выводиться список подходящих идентификаторов, сопровождающийся номерами строк с их объявлениями. Чтобы перейти к объявлению, щёлкните на идентификаторе. + +Для некоторых языков программирования, &ctags; распознаёт разные типы идентификаторов. например, в Python есть классы и функции, и вы можете выборочно искать отдельно либо классы, либо функции. + +База данных не обновляется каждый раз при изменении исходников. Поэтому вам нужно самостоятельно периодично обновлять её с помощью кнопки Обновить. -Модуль <command ->astyle</command -> -astyle -Оформление исходного кода -выставление отступов - -Astyle - это модуль для форматирования кода в соответствии с определённым набором файлов. +Модуль <command>astyle</command> +astyle +Оформление исходного кода +выставление отступов + +Astyle - это модуль для форматирования кода в соответствии с определённым набором файлов. -Модуль <command ->regexptest</command -> -regexptest -отладкарегулярные выражения -регулярные выраженияотладка - -Составление регулярных выражений может быть долгой работой, обычно первая попытка поиска по введённому выражению выводит много результатов. Модуль regexptest позволяет вам напрямую отслеживать изменения в регулярном выражении. он активируется через Сервис Проверить регулярное выражение.... +Модуль <command>regexptest</command> +regexptest +отладкарегулярные выражения +регулярные выраженияотладка + +Составление регулярных выражений может быть долгой работой, обычно первая попытка поиска по введённому выражению выводит много результатов. Модуль regexptest позволяет вам напрямую отслеживать изменения в регулярном выражении. он активируется через Сервис Проверить регулярное выражение.... -Вы можете выбрать синтаксис регулярного выражения. На текущий момент поддерживается стандарт POSIX, используемый командой &grep;, и расширенный стандарт POSIX, используемый в команде &egrep;. +Вы можете выбрать синтаксис регулярного выражения. На текущий момент поддерживается стандарт POSIX, используемый командой &grep;, и расширенный стандарт POSIX, используемый в команде &egrep;. -При вводе регулярного выражения, вам сразу будет сообщаться об ошибках в нём. Введением текста в Строка для проверки, вы можете проверить, подходит ли текст введённому вами выражению. В частности, если регулярно выражение содержит группы, такие как ([a-z]), содержание подходящих подгрупп будет отображено в списке. +При вводе регулярного выражения, вам сразу будет сообщаться об ошибках в нём. Введением текста в Строка для проверки, вы можете проверить, подходит ли текст введённому вами выражению. В частности, если регулярно выражение содержит группы, такие как ([a-z]), содержание подходящих подгрупп будет отображено в списке. -
+ diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/project-advanced.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/project-advanced.docbook index 4ff2d4b7040..94cc1608ee2 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/project-advanced.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/project-advanced.docbook @@ -2,110 +2,69 @@ - BerndPol + BerndPol -Расширенное управление проектами +Расширенное управление проектами -Загрузка проектов +Загрузка проектов -Загрузка последнего открытого проекта +Загрузка последнего открытого проекта -(... в процессе написания ...) +(... в процессе написания ...) - Как открыть последний проект + Как открыть последний проект - + -Загрузка существующих проектов +Загрузка существующих проектов -(... в процессе написания ...) - +(... в процессе написания ...) + -Преобразование старых проектов KDevelop в новый формат - -&tdevelop; позволяет открывать старые файлы проектов KDevelop 2.x и сохранять их в новом формате. Для этого перейдите в Открыть проект... и выберите Файлы проекта KDevelop 2 в поле Фильтр:. Затем выбрите файл проекта. Он будет преобразован в новый формат и будет сохранён как Файл проекта &tdevelop;. - - +Преобразование старых проектов KDevelop в новый формат + +&tdevelop; позволяет открывать старые файлы проектов KDevelop 2.x и сохранять их в новом формате. Для этого перейдите в Открыть проект... и выберите Файлы проекта KDevelop 2 в поле Фильтр:. Затем выбрите файл проекта. Он будет преобразован в новый формат и будет сохранён как Файл проекта &tdevelop;. + + -Импортирование существующего проекта +Импортирование существующего проекта -Для импортирования папки в &tdevelop;, выберите Импорт существующего каталога из меню Проект: +Для импортирования папки в &tdevelop;, выберите Импорт существующего каталога из меню Проект:
-Диалог импортирования папки +Диалог импортирования папки - +
-
+ -
+ -Настройка проекта +Настройка проекта -(... в процессе написания ...) +(... в процессе написания ...) - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook index 2bcce57460c..9882e57e04f 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook @@ -2,477 +2,137 @@ - BerndPol - IanWadham + BerndPol + IanWadham -Сборка и управление проектом +Сборка и управление проектом -Здесь затрагиваются только компилируемые языки, такие как C++, &Java;, фортран. +Здесь затрагиваются только компилируемые языки, такие как C++, &Java;, фортран. -В руководстве затронуты такие темы: +В руководстве затронуты такие темы: - Краткое описание &automanag; - Использование менеджера Automake содержит основы работы &automanag;, + Краткое описание &automanag; + Использование менеджера Automake содержит основы работы &automanag;, -Краткое описание &automanag; - -В главе Системы сборки был изложен краткий обзор систем сборки, часто использующихся в UNIX. Здесь они рассматриваются подробнее. -Существует некоторая неразбериха с тем, как называть программы такого типа, в &GNU; описаниях Automake, Autoconf и Libtool, называет их системами сборки (build systems). QMake называет себя средством для написания файлов Makefile для разных компиляторов и платформ (a tool to write Makefiles for different compilers and platforms) . В KDE также часто используется термин системы управления проектом (project management systems). Мы будем использовать последний для обозначения встроенных окружений в &tdevelop;, которые организуют и собирают проекты. В этой секции, однако, он будет использоваться в смысле автоматизированные системы сборки. +Краткое описание &automanag; + +В главе Системы сборки был изложен краткий обзор систем сборки, часто использующихся в UNIX. Здесь они рассматриваются подробнее. +Существует некоторая неразбериха с тем, как называть программы такого типа, в &GNU; описаниях Automake, Autoconf и Libtool, называет их системами сборки (build systems). QMake называет себя средством для написания файлов Makefile для разных компиляторов и платформ (a tool to write Makefiles for different compilers and platforms) . В KDE также часто используется термин системы управления проектом (project management systems). Мы будем использовать последний для обозначения встроенных окружений в &tdevelop;, которые организуют и собирают проекты. В этой секции, однако, он будет использоваться в смысле автоматизированные системы сборки. -Потребность в автоматизированных системах сборки - -Если у вас простая программа Hello World, написанная на чистом C, вы можете скомпилировать и скомпоновать её с помощью &gcc; -o hello hello.c и запустить командой ./hello, так что вам даже не и не нужен Makefile. -Если же у вас программа, написанная на C, с несколькими модулями и заголовочными файлами, и вы сделали её исключительно для себя, вам будет нужен простой Makefile, который легко написать собственноручно (см. info make). -Проблемы возникают когда: +Потребность в автоматизированных системах сборки + +Если у вас простая программа Hello World, написанная на чистом C, вы можете скомпилировать и скомпоновать её с помощью &gcc; -o hello hello.c и запустить командой ./hello, так что вам даже не и не нужен Makefile. +Если же у вас программа, написанная на C, с несколькими модулями и заголовочными файлами, и вы сделали её исключительно для себя, вам будет нужен простой Makefile, который легко написать собственноручно (см. info make). +Проблемы возникают когда: - Ваш исходный код, документация, графическое оформление, звуки, файлы интернационализации, файлы с информацией и т.д. расположены в более чем одном каталоге, - У вас иерархическая структура каталогов с исходниками, - Вы используете библиотеки, не являющиеся стандартными библиотеками набора &UNIX;, такие как &Qt; или библиотеки &kde;, - Вы используете пред-процессор для генерирования части исходного кода, например, MOC pre-compiler от Qt, - Вы хотите распространять ваше приложение в Сети, для людей с другим дистрибутивом &UNIX;/&Linux;, набором программного и аппаратного обеспечения, - Вам нужна автоматическая установка и удаление установленной программы, - Вы хотите сделать своё приложение частью &kde;. + Ваш исходный код, документация, графическое оформление, звуки, файлы интернационализации, файлы с информацией и т.д. расположены в более чем одном каталоге, + У вас иерархическая структура каталогов с исходниками, + Вы используете библиотеки, не являющиеся стандартными библиотеками набора &UNIX;, такие как &Qt; или библиотеки &kde;, + Вы используете пред-процессор для генерирования части исходного кода, например, MOC pre-compiler от Qt, + Вы хотите распространять ваше приложение в Сети, для людей с другим дистрибутивом &UNIX;/&Linux;, набором программного и аппаратного обеспечения, + Вам нужна автоматическая установка и удаление установленной программы, + Вы хотите сделать своё приложение частью &kde;. -Если хотя бы одна из перечисленных ситуаций применима к вам, тогда вам потребуется система сборки. В примере выше мы использовали &gcc; для компиляции и сборки программы Hello World, но не все компиляторы C имеют название &gcc;. Так что, если вы будете распространять своё приложение, вполне может найтись человек, имеющий другой компилятор в своей системе. И здесь на помощь приходят файлы Makefile, содержащие такие данные, как, например, имя компилятора в данной системе. -Система сборки заботится о том, чтобы ваше приложение можно было автоматически скомпилировать на любой совместимой платформе. +Если хотя бы одна из перечисленных ситуаций применима к вам, тогда вам потребуется система сборки. В примере выше мы использовали &gcc; для компиляции и сборки программы Hello World, но не все компиляторы C имеют название &gcc;. Так что, если вы будете распространять своё приложение, вполне может найтись человек, имеющий другой компилятор в своей системе. И здесь на помощь приходят файлы Makefile, содержащие такие данные, как, например, имя компилятора в данной системе. +Система сборки заботится о том, чтобы ваше приложение можно было автоматически скомпилировать на любой совместимой платформе. - Она найдёт расположение библиотек, - скомпилирует и - установит компоненты вашего приложения - в корректные каталоги системы + Она найдёт расположение библиотек, + скомпилирует и + установит компоненты вашего приложения + в корректные каталоги системы -Коротко, система сборки предлагает простой и безопасный метод компилирования и установки вашего приложения в конечной системе. как было сказано выше, &tdevelop; поставляется с тремя автоматизированными системами сборки и возможностью создавать файлы Makefile вручную: +Коротко, система сборки предлагает простой и безопасный метод компилирования и установки вашего приложения в конечной системе. как было сказано выше, &tdevelop; поставляется с тремя автоматизированными системами сборки и возможностью создавать файлы Makefile вручную: - Automake, использующий стандартные инструменты разработки &GNU;. - QMake, использующий менеджер проектов trolltech. - ANT, использующий менеджер проекта Apache ANT (для &Java;) - Специальный позволит вам писать файлы Makefile самостоятельно. + Automake, использующий стандартные инструменты разработки &GNU;. + QMake, использующий менеджер проектов trolltech. + ANT, использующий менеджер проекта Apache ANT (для &Java;) + Специальный позволит вам писать файлы Makefile самостоятельно. -Один из этих вариантов вам нужно будет выбрать при создании нового проекта, и выбор будет трудно сменить позже, так что заранее определите, какая система сборки наиболее подходит вам. +Один из этих вариантов вам нужно будет выбрать при создании нового проекта, и выбор будет трудно сменить позже, так что заранее определите, какая система сборки наиболее подходит вам. - + -Руководства по Autoconf/Automake/Libtool -Доступно несколько руководств по системе сборки &GNU; (Autoconf, Automake и Libtool), используемой менеджером &automanag;. +Руководства по Autoconf/Automake/Libtool +Доступно несколько руководств по системе сборки &GNU; (Autoconf, Automake и Libtool), используемой менеджером &automanag;. - Краткое руководство autoconf (оригинал на английском), написанное Кристофером Картисом, и доступное на домашней странице KDevelop. В нём делается акцент на основные этапы редактирования Makefile. - Более подробное руководство можно найти в большом сборнике руководств Разработка ПО с GNU. - Книжку про Autoconf, Automake, and Libtool можно найти по адресу . Это наиболее полное введение в &GNU; Autotools. Также прочитать о GNU Automake на русском вы можете здесь: + Краткое руководство autoconf (оригинал на английском), написанное Кристофером Картисом, и доступное на домашней странице KDevelop. В нём делается акцент на основные этапы редактирования Makefile. + Более подробное руководство можно найти в большом сборнике руководств Разработка ПО с GNU. + Книжку про Autoconf, Automake, and Libtool можно найти по адресу . Это наиболее полное введение в &GNU; Autotools. Также прочитать о GNU Automake на русском вы можете здесь: - + -Что делает &automanag;? - -Мастеру приложений потребуется инициализировать файлы Makefile.am при создании проекта, использующего Систему сборки &GNU;, например C++ KDE. В процессе разработки, &automanag; создаёт файлы Makefile.am для проектов, использующих Систему сборки &GNU;, и сопровождает их. -В каждом каталоге вашего проекта, содержащего файлы, которые требуется компилировать или устанавливать, находится один файл Makefile.am. В нём находятся указания ко компиляции, сборки и установке, а также список подкаталогов, также имеющих Makefile.am. - -Каталоги вашего проекта и исходники могут быть разбросаны в структуре любой глубины, или же в подкаталогах одного уровня. - -Цель Системы сборки &GNU; — создать структуру исходников, которую можно скомпилировать, построить и установить на любой системе &UNIX; или &Linux;, используя простые команды: - -./configure +Что делает &automanag;? + +Мастеру приложений потребуется инициализировать файлы Makefile.am при создании проекта, использующего Систему сборки &GNU;, например C++ KDE. В процессе разработки, &automanag; создаёт файлы Makefile.am для проектов, использующих Систему сборки &GNU;, и сопровождает их. +В каждом каталоге вашего проекта, содержащего файлы, которые требуется компилировать или устанавливать, находится один файл Makefile.am. В нём находятся указания ко компиляции, сборки и установке, а также список подкаталогов, также имеющих Makefile.am. + +Каталоги вашего проекта и исходники могут быть разбросаны в структуре любой глубины, или же в подкаталогах одного уровня. + +Цель Системы сборки &GNU; — создать структуру исходников, которую можно скомпилировать, построить и установить на любой системе &UNIX; или &Linux;, используя простые команды: + +./configure make make install # с правами "root". -и удалить установленную программу командой make uninstall (также от root). - -Как это работает? configure — это сценарий, который - собирает информацию о системе, на которой работает, например, какой компилятор в ней установлен и какие библиотеки доступны и где, а потом - рекурсивно создаёт файлы Makefile используя Makefile.in как шаблон. +и удалить установленную программу командой make uninstall (также от root). + +Как это работает? configure — это сценарий, который + собирает информацию о системе, на которой работает, например, какой компилятор в ней установлен и какие библиотеки доступны и где, а потом + рекурсивно создаёт файлы Makefile используя Makefile.in как шаблон. -Файлы Makefile.in — это входные файлы, шаблоны с базовой информацией для файлов Makefile, которые будут созданы из них путём заполнения в них определённой, зависимой от системы, информации. Всё это происходит под управлением Automake. -Процесс перехода от Makefile.am (.am означает шаблон Automake) к Makefile управляется &promanag;, через утилиту Autoconf, макрос M4 и пр. -Когда выполняется make, он автоматически собирает информацию об окружении, такую как путь к компиляторам и библиотекам. Аналогично, make install перемещает компоненты приложения, такие как исполнимые файлы, документацию, в корректные места окружения. - -Если вы распространяете ваше приложение как tarball (архив, который можно создать в KDevelop), в нём будут включены файлы Makefile.in и скрипт configure, чтобы его можно было собрать и установить на системе, где нет Automake, Autoconf или KDevelop. Файлы Makefile.am также включаются, для того случая, когда потребуется безболезненно вмешаться в исходный код. -Правила усложняются если вы также распространяете программу через хранилище, основанное на web, такое как . &cvs; &kde; - - +Файлы Makefile.in — это входные файлы, шаблоны с базовой информацией для файлов Makefile, которые будут созданы из них путём заполнения в них определённой, зависимой от системы, информации. Всё это происходит под управлением Automake. +Процесс перехода от Makefile.am (.am означает шаблон Automake) к Makefile управляется &promanag;, через утилиту Autoconf, макрос M4 и пр. +Когда выполняется make, он автоматически собирает информацию об окружении, такую как путь к компиляторам и библиотекам. Аналогично, make install перемещает компоненты приложения, такие как исполнимые файлы, документацию, в корректные места окружения. + +Если вы распространяете ваше приложение как tarball (архив, который можно создать в KDevelop), в нём будут включены файлы Makefile.in и скрипт configure, чтобы его можно было собрать и установить на системе, где нет Automake, Autoconf или KDevelop. Файлы Makefile.am также включаются, для того случая, когда потребуется безболезненно вмешаться в исходный код. +Правила усложняются если вы также распространяете программу через хранилище, основанное на web, такое как . &cvs; &kde; + + -Подытожим возможности Automake Manager +Подытожим возможности Automake Manager - Генерирование файлов Makefile.am в подкаталогах (называемых subprojects). - Обновление файлов Makefile.am при изменении структуры проекта. - Обновление файлов Makefile.am при добавлении или удалении файлов из проекта. - Настройка параметров сборки или установки отдельных файлов, изменение Makefile.am в соответствии с этим. - Настройка параметров, используемых при сборке и установке (например имена библиотек). + Генерирование файлов Makefile.am в подкаталогах (называемых subprojects). + Обновление файлов Makefile.am при изменении структуры проекта. + Обновление файлов Makefile.am при добавлении или удалении файлов из проекта. + Настройка параметров сборки или установки отдельных файлов, изменение Makefile.am в соответствии с этим. + Настройка параметров, используемых при сборке и установке (например имена библиотек). - + -Содержание файлов Automake - -Файл Makefile.am содержит строки с именами переменных, знаком равно и списком файлов или значением параметра. Имена переменных состоят из двух частей, например bin_PROGRAMS, myapp_SOURCES или kdelnk_DATA. Вторая часть называется первичной (primary) и представляет что-то, что нужно собрать или установить. Первая часть называется приставкой (prefix) и представляет: +Содержание файлов Automake + +Файл Makefile.am содержит строки с именами переменных, знаком равно и списком файлов или значением параметра. Имена переменных состоят из двух частей, например bin_PROGRAMS, myapp_SOURCES или kdelnk_DATA. Вторая часть называется первичной (primary) и представляет что-то, что нужно собрать или установить. Первая часть называется приставкой (prefix) и представляет: - Каталог, куда нужно устанавливать (например bin), - Спецификатор (например myapp для SOURCES, это говорит о том, что исходные файлы, перечисленные поле myapp_SOURCES входят в сборку myapp), - Специальная приставка noinst (no installation), используется для перечисления заголовочных файлов (.h), - Специальная приставка EXTRA для вещей, зависящих от конфигурации системы. + Каталог, куда нужно устанавливать (например bin), + Спецификатор (например myapp для SOURCES, это говорит о том, что исходные файлы, перечисленные поле myapp_SOURCES входят в сборку myapp), + Специальная приставка noinst (no installation), используется для перечисления заголовочных файлов (.h), + Специальная приставка EXTRA для вещей, зависящих от конфигурации системы. -Для подробностей о Automake и файлах Makefile.am см. info Automake. -&automanag; создаёт и обновляет переменные и их значения. Далее приведён пример Makefile.am для приложения с названием myapp. - -## Makefile.am для myapp +Для подробностей о Automake и файлах Makefile.am см. info Automake. +&automanag; создаёт и обновляет переменные и их значения. Далее приведён пример Makefile.am для приложения с названием myapp. + +## Makefile.am для myapp # устанавливаемая программы. её имя используется # для всех переменных Makefile.am @@ -509,767 +169,328 @@ rc_DATA = myappui.rc AM_CXXFLAGS = -DMY_C++_PREPROCESSOR_OPTION -Как вы видите, большинство пунктов справа — набор символов в форме $(xxx). Это переменные окружения, определённые в собственно окружении &kde;. Они заменяются действительными значениями когда ./configure генерирует файлы Makefile из шаблонов. - -Также, команда ./configure --help отобразит список вещей, которые вы можете изменить во время сборки/компиляции. В частности, команда: +Как вы видите, большинство пунктов справа — набор символов в форме $(xxx). Это переменные окружения, определённые в собственно окружении &kde;. Они заменяются действительными значениями когда ./configure генерирует файлы Makefile из шаблонов. + +Также, команда ./configure --help отобразит список вещей, которые вы можете изменить во время сборки/компиляции. В частности, команда: ./configure --prefix=/где/вы/желаете - будет перенаправлять устанавливаемые файлы куда вы захотите, сменой значения внутренней переменной $(prefix) на /где/вы/желаете. + будет перенаправлять устанавливаемые файлы куда вы захотите, сменой значения внутренней переменной $(prefix) на /где/вы/желаете. - + - + -Использование менеджера Automake - -В этой главе вы найдёте краткое описание элементов &automanag; и как их использовать. В частности: - Окно &automanag; описывает структуру окна &automanag;. - Элементы верхнего окна. - Элементы нижнего окна с деталями. - Навигация по &automanag; содержит список основных действий, которые вы можете выполнять в &automanag;. - Контекстные меню в &automanag; описывает окна, появляющиеся после выбора какого-либо действия в &automanag;. +Использование менеджера Automake + +В этой главе вы найдёте краткое описание элементов &automanag; и как их использовать. В частности: + Окно &automanag; описывает структуру окна &automanag;. + Элементы верхнего окна. + Элементы нижнего окна с деталями. + Навигация по &automanag; содержит список основных действий, которые вы можете выполнять в &automanag;. + Контекстные меню в &automanag; описывает окна, появляющиеся после выбора какого-либо действия в &automanag;. -Окно &automanag; +Окно &automanag; - - + + - - - &automanag; запускается в отдельном окне. Верхняя часть называется Верхним окном, а нижняя — окном деталей. Между ними располагается разделитель, который можно перетаскивать для регулировки размеров верхнего и нижнего окон. В режиме IDEAl можно также изменять ширину окна. - Вверху каждого окна есть панель инструментов, кнопки на которой активируются, когда выбирается элемент из списка в окне. роме того действия над элементами можно совершать через их контекстные меню. - В режиме IDEAl также есть две дополнительные кнопки, слева на заголовке окна – треугольная стрелка вправо и точка. Первая закрывает окно, а вторая сохраняет его открытым даже если активировано другое окно &tdevelop; (иначе окно &automanag; будет автоматически закрыто сразу после передачи фокуса на другое окно). - - + + + &automanag; запускается в отдельном окне. Верхняя часть называется Верхним окном, а нижняя — окном деталей. Между ними располагается разделитель, который можно перетаскивать для регулировки размеров верхнего и нижнего окон. В режиме IDEAl можно также изменять ширину окна. + Вверху каждого окна есть панель инструментов, кнопки на которой активируются, когда выбирается элемент из списка в окне. роме того действия над элементами можно совершать через их контекстные меню. + В режиме IDEAl также есть две дополнительные кнопки, слева на заголовке окна – треугольная стрелка вправо и точка. Первая закрывает окно, а вторая сохраняет его открытым даже если активировано другое окно &tdevelop; (иначе окно &automanag; будет автоматически закрыто сразу после передачи фокуса на другое окно). + + - + -Окно Overall View - -Окно Overall View содержит древовидный список каталогов вашего проекта, содержащих программные файлы, документацию или другие данные. В каждом из них находится файл Makefile.am, называемый в &automanag; подпроектом (subproject). Как показано на рисунке, есть три стандартных подпроекта: +Окно Overall View + +Окно Overall View содержит древовидный список каталогов вашего проекта, содержащих программные файлы, документацию или другие данные. В каждом из них находится файл Makefile.am, называемый в &automanag; подпроектом (subproject). Как показано на рисунке, есть три стандартных подпроекта: - src – исходники вашего приложения, - doc – руководство приложения (Handbook), - po – файлы перевода, содержащие перевод всей текстовой информации вашего приложения (например, заголовки окон, пункты меню, названия кнопок). + src – исходники вашего приложения, + doc – руководство приложения (Handbook), + po – файлы перевода, содержащие перевод всей текстовой информации вашего приложения (например, заголовки окон, пункты меню, названия кнопок). -Обратите внимание, что doc всегда содержит подкаталог en. Это потому, что основной язык документации KDE — английский (en). Если ваше приложение станет частью KDE, команды перевода KDE переведёт его с английского на другие языки, размещаемые в других каталогах, например ru (русский) или uk (украинский). Сообщения в файле po также будут переведены, что позволит использовать ваше приложение людям, не знающим английский. - -Подкаталоги doc и po служат для разных целей. doc содержит документацию, такую как руководство, po содержит сообщения для перевода пользовательского интерфейса, встроенного в исходники данного приложения. - -Окно Общее просмотр (Overall View) также служит как средство навигации. Если вы выберите подпроект, подробности о нём будут отображены в окне Detail View. - - +Обратите внимание, что doc всегда содержит подкаталог en. Это потому, что основной язык документации KDE — английский (en). Если ваше приложение станет частью KDE, команды перевода KDE переведёт его с английского на другие языки, размещаемые в других каталогах, например ru (русский) или uk (украинский). Сообщения в файле po также будут переведены, что позволит использовать ваше приложение людям, не знающим английский. + +Подкаталоги doc и po служат для разных целей. doc содержит документацию, такую как руководство, po содержит сообщения для перевода пользовательского интерфейса, встроенного в исходники данного приложения. + +Окно Общее просмотр (Overall View) также служит как средство навигации. Если вы выберите подпроект, подробности о нём будут отображены в окне Detail View. + + -Окно Detail View +Окно Detail View -Окно Detail View содержит древовидный список файлов подпроекта, выделенного в окне Overall View, а также правила компиляции, сборки и установки для них. +Окно Detail View содержит древовидный список файлов подпроекта, выделенного в окне Overall View, а также правила компиляции, сборки и установки для них. -Цели - -Древовидный список в Detail View имеет два уровня. Верхний состоит из т.н. целей (target) &automanag;, и нижний содержит списки файлов, составляющие каждую цель. - -Принцип цели &automanag; отличается от цели Makefile. Коротко: +Цели + +Древовидный список в Detail View имеет два уровня. Верхний состоит из т.н. целей (target) &automanag;, и нижний содержит списки файлов, составляющие каждую цель. + +Принцип цели &automanag; отличается от цели Makefile. Коротко: - Определение способа компиляции, сборки и установки набора файлов, известно как цель в &automanag;, и как переменная в Automake. - Цель в make — параметр команды make (например make install, make clean). - Тем не менее, все переменные файла Makefile.am представляютподцель (sub-target) в make. + Определение способа компиляции, сборки и установки набора файлов, известно как цель в &automanag;, и как переменная в Automake. + Цель в make — параметр команды make (например make install, make clean). + Тем не менее, все переменные файла Makefile.am представляютподцель (sub-target) в make. - + -Навигация в &automanag; +Навигация в &automanag; -При щелчке в окне Overall View или Detail View на + или -, рядом с именем подпроекта или цели, приведёт развёртыванию или свёртыванию дерева. +При щелчке в окне Overall View или Detail View на + или -, рядом с именем подпроекта или цели, приведёт развёртыванию или свёртыванию дерева. -Jткрытие файла для правки +Jткрытие файла для правки -При щелчке на файле в окне "Детали", он откроется в окне редактирования . &tdevelop; +При щелчке на файле в окне "Детали", он откроется в окне редактирования . &tdevelop; -Активирование кнопок &automanag; +Активирование кнопок &automanag; -При щелчке на имени подпроекта в окне Overall View или цели в Detail View, активируются некоторые кнопки панели инструментов. +При щелчке на имени подпроекта в окне Overall View или цели в Detail View, активируются некоторые кнопки панели инструментов. - Рекомендуется использовать контекстные меню вместо панели инструментов, т.к. так легче видеть и понимать что вы делаете. - Действия над подпроектами и целями широко действуют на структуру, компиляцию, сборку и установку вашего приложения. + Рекомендуется использовать контекстные меню вместо панели инструментов, т.к. так легче видеть и понимать что вы делаете. + Действия над подпроектами и целями широко действуют на структуру, компиляцию, сборку и установку вашего приложения. -Контекстные меню +Контекстные меню -В контекстном меню подпроекта, цели или файла можно выбрать действия над ними, например, добавить цель в подпроект, добавить или удалить файл из цели (не с диска). +В контекстном меню подпроекта, цели или файла можно выбрать действия над ними, например, добавить цель в подпроект, добавить или удалить файл из цели (не с диска). - + -Контекстные меню &automanag; +Контекстные меню &automanag; -Далее изложен обзор контекстных меню &automanag;. Более подробное их описание вы найдёте в следующей главе. +Далее изложен обзор контекстных меню &automanag;. Более подробное их описание вы найдёте в следующей главе. -Контекстное меню файла - -На рисунке ниже показано контекстное меню для значка hi-16app-myapp.png из цели Icon data in myapp подпроекта myapp/src. +Контекстное меню файла + +На рисунке ниже показано контекстное меню для значка hi-16app-myapp.png из цели Icon data in myapp подпроекта myapp/src. - - + + - - - Действие по умолчанию — Удалить файл из цели. - Подменю CVS содержит действия над файлом, касающиеся CVS. - Открыть в позволяет открыть файл любой командой (например, в нашем случае, мы можем открыть значок в TDEIcon). - Perforce — проприетарный пакет, аналогичный CVS. - - + + + Действие по умолчанию — Удалить файл из цели. + Подменю CVS содержит действия над файлом, касающиеся CVS. + Открыть в позволяет открыть файл любой командой (например, в нашем случае, мы можем открыть значок в TDEIcon). + Perforce — проприетарный пакет, аналогичный CVS. + + - + -Контекстное меню цели +Контекстное меню цели -На рисунке ниже, выбрана цель myapp (Program in bin) подпроекта myapp/src. +На рисунке ниже, выбрана цель myapp (Program in bin) подпроекта myapp/src. - - + + - - - Параметры только для целей, содержащих исходные файлы. Вы сможете указать ключи компоновщика и пути, по которым производить поиск библиотек, а также вы можете указать список библиотек, с которыми нужно компоновать ваше приложение. - Создать файл приведёт к созданию нового файла. - Добавить существующие файлы приведёт к добавлению файла. - Удалить приведёт к удалению цели и всех её файлов с диска. - Сделать цель активной только для целей, содержащих исходные файлы. Активирует текущую цель — новые файлы всегда добавляются в неё - Собрать цель приведёт к сборке текущей цели. - - + + + Параметры только для целей, содержащих исходные файлы. Вы сможете указать ключи компоновщика и пути, по которым производить поиск библиотек, а также вы можете указать список библиотек, с которыми нужно компоновать ваше приложение. + Создать файл приведёт к созданию нового файла. + Добавить существующие файлы приведёт к добавлению файла. + Удалить приведёт к удалению цели и всех её файлов с диска. + Сделать цель активной только для целей, содержащих исходные файлы. Активирует текущую цель — новые файлы всегда добавляются в неё + Собрать цель приведёт к сборке текущей цели. + + - + -Контекстное меню подпроекта +Контекстное меню подпроекта -Меню подпроекта позволяет делать масштабные изменения в структуре вашего проекта, а также способ его компиляции, сборки и установки. +Меню подпроекта позволяет делать масштабные изменения в структуре вашего проекта, а также способ его компиляции, сборки и установки. - - + + - - - Параметры содержит параметры компиляции, сборки и установки проекта. В появившемся диалоге будут вкладки Compiler, Includes, Prefixes и Build Order. - Добавить подпроект создаст новый подкаталог в структуре проекта и начальный файл Makefile.am. - Добавить цель откроет диалог, где вы сможете установить правила компиляции, сборки и установки файлов подпроекта. - Добавить сервис (... в процессе написания ...) - Добавить приложение (... в процессе написания ...) - Добавить существующие подпроекты... (... в процессе написания ...) - Удалить подпроект — правильный способ удаления подпроекта. При этом также "подправятся" файлы Makefile.am. Кроме того, будет предложено удалить все файлы, находящиеся в подкаталоге. Используйте это с осторожностью. - Собрать приведёт к сборке текущего подпроекта. - Пересоздать (... в процессе написания ...) - Очистить (... в процессе написания ...) - Установить (... в процессе написания ...) - Установить (с правами root) (... в процессе написания ...) - - + + + Параметры содержит параметры компиляции, сборки и установки проекта. В появившемся диалоге будут вкладки Compiler, Includes, Prefixes и Build Order. + Добавить подпроект создаст новый подкаталог в структуре проекта и начальный файл Makefile.am. + Добавить цель откроет диалог, где вы сможете установить правила компиляции, сборки и установки файлов подпроекта. + Добавить сервис (... в процессе написания ...) + Добавить приложение (... в процессе написания ...) + Добавить существующие подпроекты... (... в процессе написания ...) + Удалить подпроект — правильный способ удаления подпроекта. При этом также "подправятся" файлы Makefile.am. Кроме того, будет предложено удалить все файлы, находящиеся в подкаталоге. Используйте это с осторожностью. + Собрать приведёт к сборке текущего подпроекта. + Пересоздать (... в процессе написания ...) + Очистить (... в процессе написания ...) + Установить (... в процессе написания ...) + Установить (с правами root) (... в процессе написания ...) + + - + - + - + -Automake -autoproject -&automake; -&autoconf; -&libtool; - -(... в процессе написания ...) +Automake +autoproject +&automake; +&autoconf; +&libtool; + +(... в процессе написания ...) -Autoconf -скрипт configure -скрипт config.status -Makefile.in -config.h.in - -Makefile.in в Makefile - -prefix = @prefix@ +Autoconf +скрипт configure +скрипт config.status +Makefile.in +config.h.in + +Makefile.in в Makefile + +prefix = @prefix@ INSTALL = @INSTALL@ build_triplet = @build@ CXX = @CXX@ -prefix = /home/bernd/kde3 +prefix = /home/bernd/kde3 INSTALL = /usr/bin/ginstall -c -p build_triplet = i686-pc-linux-gnu CXX = g++ -config.h.in в config.h +config.h.in в config.h -/* Define if you have libz */ +/* Define if you have libz */ #undef HAVE_LIBZ /* Размер `int', как подсчитано sizeof. */ #undef SIZEOF_INT -/* Define if you have libz */ +/* Define if you have libz */ #define HAVE_LIBZ 1 /* Размер `int', как подсчитано sizeof. */ #define SIZEOF_INT 4 - + -Automake +Automake -(... в процессе написания ...) +(... в процессе написания ...) - + -&automanag; +&automanag;
-Снимок экрана менеджера automake +Снимок экрана менеджера automake - +
-
+ -Сборка и установка библиотек +Сборка и установка библиотек --rpath -PIC -static -plugins: no-undefined +-rpath +PIC +static +plugins: no-undefined - + -
+ -Специальные файлы makefile и сценарии сборки -Makefile -build.xml - -(... в процессе написания ...) - - +Специальные файлы makefile и сценарии сборки +Makefile +build.xml + +(... в процессе написания ...) + + -Параметры компилятора +Параметры компилятора -(... в процессе написания ...) +(... в процессе написания ...) - + -Параметры make +Параметры make -(... в процессе написания ...) +(... в процессе написания ...) - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/setup.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/setup.docbook index dbb9cbc24fa..e0d4b100b23 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/setup.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/setup.docbook @@ -2,27 +2,14 @@ - BerndPol + BerndPol -Настройка &tdevelop; +Настройка &tdevelop; -&tdevelop; — очень мощная и гибкая среда, которая предлагает много способов подстроить её под себя. Для начала настройки перейдите в меню НастройкаНастроить KDevelop.... Появившееся диалоговое окно настройки будет содержать слева названия разделов, а справа — параметры; набор параметров зависит от выбранного раздела. +&tdevelop; — очень мощная и гибкая среда, которая предлагает много способов подстроить её под себя. Для начала настройки перейдите в меню НастройкаНастроить KDevelop.... Появившееся диалоговое окно настройки будет содержать слева названия разделов, а справа — параметры; набор параметров зависит от выбранного раздела. @@ -30,187 +17,89 @@ -Выбор параметра +Выбор параметра - Выбор параметра + Выбор параметра -В данном руководстве эти параметры будут описаны в другом порядке, в обобщённых разделах Общая настройка, Настройка документации и Расширенная настройка, что делает чтение более понятным. -Для того, чтобы сразу перейти к описанию определённых параметров, воспользуйтесь следующими ссылками. +В данном руководстве эти параметры будут описаны в другом порядке, в обобщённых разделах Общая настройка, Настройка документации и Расширенная настройка, что делает чтение более понятным. +Для того, чтобы сразу перейти к описанию определённых параметров, воспользуйтесь следующими ссылками. - Главное - Интерфейс пользователя - Шаблоны файлов -Редактор - Автозамена - Поддержка скриптов - Меню инструментов - Внешние инструменты - Документация - Заготовки - Файлы - Файлы - Генератор классов C++ - Форматирование - Анализ кода C++ + Главное + Интерфейс пользователя + Шаблоны файлов +Редактор + Автозамена + Поддержка скриптов + Меню инструментов + Внешние инструменты + Документация + Заготовки + Файлы + Файлы + Генератор классов C++ + Форматирование + Анализ кода C++ -Общая настройка +Общая настройка -Здесь описаны самые общие действия по настройке &tdevelop;: +Здесь описаны самые общие действия по настройке &tdevelop;: - - Основные параметры - - - Выбор интерфейса пользователя - + + Основные параметры + + + Выбор интерфейса пользователя + -Редактирование исходного кода - - Выбор редактора - - - Выбор стиля форматирования кода - - - Настройка заготовок кода - +Редактирование исходного кода + + Выбор редактора + + + Выбор стиля форматирования кода + + + Настройка заготовок кода + - - Настройка инструмента выбора файлов - + + Настройка инструмента выбора файлов + -Основные параметры +Основные параметры -Раздел Главное позволяет настроить внешний вид и поведение &tdevelop;, которые в повседневной работе будут меняться редко: +Раздел Главное позволяет настроить внешний вид и поведение &tdevelop;, которые в повседневной работе будут меняться редко: -Основные параметры проекта, в частности: +Основные параметры проекта, в частности: - определение каталога проектов по умолчанию, в котором будут создаваться новые проекты; - выбор возможности загружать автоматически последний открытый проект при запуске &tdevelop;. + определение каталога проектов по умолчанию, в котором будут создаваться новые проекты; + выбор возможности загружать автоматически последний открытый проект при запуске &tdevelop;. -Выбор шрифта для наиболее часто используемых информационных окон, называемых: +Выбор шрифта для наиболее часто используемых информационных окон, называемых: -Панель Сообщения, используемая для показа хода компиляции, к примеру, и +Панель Сообщения, используемая для показа хода компиляции, к примеру, и -Панель вывода приложения, показывающая ошибки и вывод запущенного приложения. +Панель вывода приложения, показывающая ошибки и вывод запущенного приложения. @@ -218,34 +107,18 @@ -Некоторые общие параметры внешнего вида строк на панели Сообщения: +Некоторые общие параметры внешнего вида строк на панели Сообщения: -переносить ли длинные строки; +переносить ли длинные строки; -показывать ли сообщения о смене каталогов и выводимые сообщения команды make. +показывать ли сообщения о смене каталогов и выводимые сообщения команды make. -Уровень детализации сообщений о ходе компиляции на панели Сообщения. +Уровень детализации сообщений о ходе компиляции на панели Сообщения. @@ -255,245 +128,103 @@ - Раздел «Главное» + Раздел «Главное» -Загружать последний открытый проект при запуске +Загружать последний открытый проект при запуске -Установите флажок, чтобы после запуска среды продолжить работу над проектом, с которым вы работали в предыдущий раз. При следующем запуске &tdevelop; автоматически загрузит этот проект. При этом будет восстановлено также и его состояние (открытые файлы, панели инструментов и так далее). +Установите флажок, чтобы после запуска среды продолжить работу над проектом, с которым вы работали в предыдущий раз. При следующем запуске &tdevelop; автоматически загрузит этот проект. При этом будет восстановлено также и его состояние (открытые файлы, панели инструментов и так далее). -Каталог проектов по умолчанию +Каталог проектов по умолчанию -По умолчанию &tdevelop; использует основной родительский каталог для всех новых проектов. Можно указать абсолютный путь к родительскому каталогу в поле ввода или воспользоваться кнопкой выбора каталога. -Тем не менее, всегда можно изменить родительский каталог для создаваемого проекта в Мастере создания проекта. +По умолчанию &tdevelop; использует основной родительский каталог для всех новых проектов. Можно указать абсолютный путь к родительскому каталогу в поле ввода или воспользоваться кнопкой выбора каталога. +Тем не менее, всегда можно изменить родительский каталог для создаваемого проекта в Мастере создания проекта. -Шрифт окна +Шрифт окна -Панель вывода приложения используется для вывода информации и ошибок приложений, запущенных из &tdevelop;. Эту информацию приложения обычно выводят в консоли, если запускаются отдельно. Поэтому нет необходимости переключаться из среды при тестировании разрабатываемого приложения. -Чтобы выбрать подходящий для окна Сообщения шрифт, нажмите кнопку Выбрать..., слева от которой показывается текущий шрифт (на рисунке выше это «Luxi Sans»). Появится стандартное диалоговое окно &kde; Выбор шрифта, в котором можно подобрать нужный. -При первом запуске &tdevelop; использует шрифт из текущей настройки пользователя &kde;. Эти параметры зафиксированы, так что если в Центре управления произвести изменения в разделе Внешний вид и темы Шрифты, то это не повлияет на шрифты &tdevelop;. Для смены шрифта нужно принудительно выбрать шрифт окна Сообщения. +Панель вывода приложения используется для вывода информации и ошибок приложений, запущенных из &tdevelop;. Эту информацию приложения обычно выводят в консоли, если запускаются отдельно. Поэтому нет необходимости переключаться из среды при тестировании разрабатываемого приложения. +Чтобы выбрать подходящий для окна Сообщения шрифт, нажмите кнопку Выбрать..., слева от которой показывается текущий шрифт (на рисунке выше это «Luxi Sans»). Появится стандартное диалоговое окно &kde; Выбор шрифта, в котором можно подобрать нужный. +При первом запуске &tdevelop; использует шрифт из текущей настройки пользователя &kde;. Эти параметры зафиксированы, так что если в Центре управления произвести изменения в разделе Внешний вид и темы Шрифты, то это не повлияет на шрифты &tdevelop;. Для смены шрифта нужно принудительно выбрать шрифт окна Сообщения. -Вывод компилятора +Вывод компилятора -&tdevelop; фильтрует выводимую в панели Сообщения информацию во время процесса сборки. Можно управлять уровнем детализации сообщений &tdevelop; с помощью контекстного меню этой панели. +&tdevelop; фильтрует выводимую в панели Сообщения информацию во время процесса сборки. Можно управлять уровнем детализации сообщений &tdevelop; с помощью контекстного меню этой панели. -Очень краткий -Выводить только предупреждения, ошибки и названия компилируемых файлов. +Очень краткий +Выводить только предупреждения, ошибки и названия компилируемых файлов. -Краткий -Подавлять все флаги компилятора и привести выводимую информацию в более понятную форму. +Краткий +Подавлять все флаги компилятора и привести выводимую информацию в более понятную форму. -Полный -Выводить все сообщения компилятора в неизменной форме. +Полный +Выводить все сообщения компилятора в неизменной форме. -Существует другой способ переключить детализацию вывода компилятора. Просто щёлкните правой кнопкой на панели Сообщения и выберите из контекстного меню подходящий уровень детализации. +Существует другой способ переключить детализацию вывода компилятора. Просто щёлкните правой кнопкой на панели Сообщения и выберите из контекстного меню подходящий уровень детализации. -Перенос строк +Перенос строк -По умолчанию &tdevelop; переносит длинные строки в окне Сообщения, так что важная информация может быть воспринята не сразу. В некоторых случаях это затрудняет чтение длинных выводимых сообщений. Сняв флажок с этого параметра можно запретить перенос длинных строк. -Существует и другой способ переключить перенос строк. Щёлкните правой кнопкой мыши в панели Сообщения и выберите в контекстном меню Перенос строк. +По умолчанию &tdevelop; переносит длинные строки в окне Сообщения, так что важная информация может быть воспринята не сразу. В некоторых случаях это затрудняет чтение длинных выводимых сообщений. Сняв флажок с этого параметра можно запретить перенос длинных строк. +Существует и другой способ переключить перенос строк. Щёлкните правой кнопкой мыши в панели Сообщения и выберите в контекстном меню Перенос строк. -Сообщения о смене каталога +Сообщения о смене каталога -Программа make обычно выводит сообщения типа «Entering directory» (вход в каталог) и «Leaving directory» (выход из каталога) при смене каталогов в ходе компиляции. Поскольку это засоряет выводимую информацию в панели Сообщения, &tdevelop; по умолчанию подавляет такие сообщения. Отметьте этот параметр, чтобы включить вывод информации о смене каталогов во время работы программы make. -Включение этого параметра повлияет только на новые сообщения. Выключение параметра не приведёт к удалению уже полученных сообщений. +Программа make обычно выводит сообщения типа «Entering directory» (вход в каталог) и «Leaving directory» (выход из каталога) при смене каталогов в ходе компиляции. Поскольку это засоряет выводимую информацию в панели Сообщения, &tdevelop; по умолчанию подавляет такие сообщения. Отметьте этот параметр, чтобы включить вывод информации о смене каталогов во время работы программы make. +Включение этого параметра повлияет только на новые сообщения. Выключение параметра не приведёт к удалению уже полученных сообщений. -Интеграция с редактором форм +Интеграция с редактором форм -Этот переключатель позволяет выбрать способ открытия файлов .ui. &tdevelop; поставляется с собственным редактором форм, KDevDesigner, который может быть запущен или как встроенная, или как отдельная программа. Для редактирования файлов .ui можно также использовать Qt Designer. +Этот переключатель позволяет выбрать способ открытия файлов .ui. &tdevelop; поставляется с собственным редактором форм, KDevDesigner, который может быть запущен или как встроенная, или как отдельная программа. Для редактирования файлов .ui можно также использовать Qt Designer. - Использовать встроенный редактор форм &tdevelop; Использование собственного редактора форм, встроенного в &tdevelop; - Запускать редактор форм &tdevelop; как отдельную программу Приложение KDevDesigner будет запущено отдельно в своём окне. + Использовать встроенный редактор форм &tdevelop; Использование собственного редактора форм, встроенного в &tdevelop; + Запускать редактор форм &tdevelop; как отдельную программу Приложение KDevDesigner будет запущено отдельно в своём окне. - KDevDesigner в отдельном окне + KDevDesigner в отдельном окне - Запускать Qt Designer Qt Designer из пакета Qt будет запущен отдельно при открытии в &tdevelop; файла .ui. + Запускать Qt Designer Qt Designer из пакета Qt будет запущен отдельно при открытии в &tdevelop; файла .ui. -Эмулятор терминала +Эмулятор терминала -Здесь можно выбрать, какой терминал будет встроен в KDevelop. +Здесь можно выбрать, какой терминал будет встроен в KDevelop. - Использовать параметры KDE Использовать параметры &kde;, установленные в Центре управления в разделе Компоненты Компоненты по умолчанию, в котором выбирается эмулятор терминала по умолчанию, используемый во всех требующих терминал приложениях &kde;. - Другой: Выберите другой эмулятор терминала, отличный от терминала по умолчанию. + Использовать параметры KDE Использовать параметры &kde;, установленные в Центре управления в разделе Компоненты Компоненты по умолчанию, в котором выбирается эмулятор терминала по умолчанию, используемый во всех требующих терминал приложениях &kde;. + Другой: Выберите другой эмулятор терминала, отличный от терминала по умолчанию. @@ -501,644 +232,316 @@ - + -Выбор интерфейса пользователя +Выбор интерфейса пользователя - интерфейс пользователя - переключение интерфейсов + интерфейс пользователя + переключение интерфейсов - переключение интерфейсов пользователя - -Как уже было сказано в разделе Интерфейсы, есть пять разных способов настроить рабочую область &tdevelop;: + переключение интерфейсов пользователя + +Как уже было сказано в разделе Интерфейсы, есть пять разных способов настроить рабочую область &tdevelop;: - - Простой IDEAl - Это упрощённая версия интерфейса пользователя IDEA. Она разработана для простоты и удобства. В ней не используются вкладки инструментов. - - Режим IDEAl - Это клон пользовательского интерфейса IDEA, установленный по умолчанию и похожий на режим Вкладки. - - Дочерние окна - Все инструменты размещены в главном окне. Окна редактора и просмотра будут похожими на окна верхнего уровня внутри рабочей области главного окна. Типичным примером этого режима является интерфейс пользователя в Microsoft Visual Studio 6.0. - - Вкладки - Все инструменты размещены в главном окне. Окна редактора и просмотра будут совмещены в одно окно с соответствующими вкладками. Типичным примером этого режима интерфейса пользователя является KDEStudio, ещё одна среда по разработке на C++ в мире KDE. - - Отдельные окна - Все окна редактора, просмотра и панели будут выглядеть как обычные отдельные окна (непосредственно на рабочем столе). Главный инструмент управления будет содержать только меню, панели инструментов и строку состояния. Типичным примером этого режима интерфейса пользователя является Borland Delphi 6.0. + + Простой IDEAl + Это упрощённая версия интерфейса пользователя IDEA. Она разработана для простоты и удобства. В ней не используются вкладки инструментов. + + Режим IDEAl + Это клон пользовательского интерфейса IDEA, установленный по умолчанию и похожий на режим Вкладки. + + Дочерние окна + Все инструменты размещены в главном окне. Окна редактора и просмотра будут похожими на окна верхнего уровня внутри рабочей области главного окна. Типичным примером этого режима является интерфейс пользователя в Microsoft Visual Studio 6.0. + + Вкладки + Все инструменты размещены в главном окне. Окна редактора и просмотра будут совмещены в одно окно с соответствующими вкладками. Типичным примером этого режима интерфейса пользователя является KDEStudio, ещё одна среда по разработке на C++ в мире KDE. + + Отдельные окна + Все окна редактора, просмотра и панели будут выглядеть как обычные отдельные окна (непосредственно на рабочем столе). Главный инструмент управления будет содержать только меню, панели инструментов и строку состояния. Типичным примером этого режима интерфейса пользователя является Borland Delphi 6.0. -Чтобы переключить режим интерфейса, выберите в меню Настройка Настроить KDevelop... . В появившемся диалоговом окне выберите раздел Интерфейс пользователя. В появившемся окне справа будут следующие параметры. +Чтобы переключить режим интерфейса, выберите в меню Настройка Настроить KDevelop... . В появившемся диалоговом окне выберите раздел Интерфейс пользователя. В появившемся окне справа будут следующие параметры. -Выбор режима интерфейса пользователя - Выбор режима интерфейса пользователя +Выбор режима интерфейса пользователя + Выбор режима интерфейса пользователя -Выберите режим интерфейса пользователя и нажмите OK. - -Чтобы изменения вступили в силу необходимо перезапустить &tdevelop;. - -При выборе режимов Простой IDEAl, IDEAl или Вкладки станут доступными ещё две секции параметров: Использовать вкладки и Кнопка закрытия при наведении. Эти параметры позволяют настроить условия, при которых вкладки будут показываться сверху окон документов, а также возможность закрыть документ щелчком на значке вкладки. - -В режимах Простой IDEAl и IDEAl будет доступна только одна секция, Вкладки инструментов, в котором можно менять размер вкладок инструментов, расположенных по сторонам от рабочей области. +Выберите режим интерфейса пользователя и нажмите OK. + +Чтобы изменения вступили в силу необходимо перезапустить &tdevelop;. + +При выборе режимов Простой IDEAl, IDEAl или Вкладки станут доступными ещё две секции параметров: Использовать вкладки и Кнопка закрытия при наведении. Эти параметры позволяют настроить условия, при которых вкладки будут показываться сверху окон документов, а также возможность закрыть документ щелчком на значке вкладки. + +В режимах Простой IDEAl и IDEAl будет доступна только одна секция, Вкладки инструментов, в котором можно менять размер вкладок инструментов, расположенных по сторонам от рабочей области. -Настройка показа вкладок документов +Настройка показа вкладок документов -По умолчанию, в режимах «Вкладки» и «IDEAl» в верхней части окон документов показываются вкладки с названиями, с помощью которых щелчком левой кнопки мыши можно легко переключаться между разными документами. Чтобы получить в рабочей области больше свободного пространства для окон документов можно изменить внешний вид в секции Использовать вкладки. +По умолчанию, в режимах «Вкладки» и «IDEAl» в верхней части окон документов показываются вкладки с названиями, с помощью которых щелчком левой кнопки мыши можно легко переключаться между разными документами. Чтобы получить в рабочей области больше свободного пространства для окон документов можно изменить внешний вид в секции Использовать вкладки. - Всегда - Значение по умолчанию — показывать вкладку, содержащую значок и имя файла вверху окна документа в основной рабочей области &tdevelop;. + Всегда + Значение по умолчанию — показывать вкладку, содержащую значок и имя файла вверху окна документа в основной рабочей области &tdevelop;. - При нескольких совпадениях - Не показывать вкладку, если открыт только один документ. Однако, если открыто более одного документа, &tdevelop; будет показывать панель вкладок так же, как и при выборе значения Всегда. Можно выбрать этот режим, если большую часть времени работа ведётся над одним документом, это увеличит рабочее место по вертикали. + При нескольких совпадениях + Не показывать вкладку, если открыт только один документ. Однако, если открыто более одного документа, &tdevelop; будет показывать панель вкладок так же, как и при выборе значения Всегда. Можно выбрать этот режим, если большую часть времени работа ведётся над одним документом, это увеличит рабочее место по вертикали. - Никогда - Никогда не показывать секцию вкладок документов. Это полезно, если вы редко используете мышь для переключения между открытыми документами. Этот режим предоставляет больше места по вертикали для всех окон документов. Чтобы выбрать другое окно документа или закрыть окно, используйте меню Окно. + Никогда + Никогда не показывать секцию вкладок документов. Это полезно, если вы редко используете мышь для переключения между открытыми документами. Этот режим предоставляет больше места по вертикали для всех окон документов. Чтобы выбрать другое окно документа или закрыть окно, используйте меню Окно. -Настройка закрытия файла щелчком по его вкладке +Настройка закрытия файла щелчком по его вкладке -Настроив &tdevelop; на показ панелей вкладок документов в режимах «Всегда» или «Когда в основной части рабочей области открыто более одного документа», можно кроме возможности выбора документа добавить вкладкам дополнительную функциональность. Для этого используйте секцию Кнопка закрытия при наведении. +Настроив &tdevelop; на показ панелей вкладок документов в режимах «Всегда» или «Когда в основной части рабочей области открыто более одного документа», можно кроме возможности выбора документа добавить вкладкам дополнительную функциональность. Для этого используйте секцию Кнопка закрытия при наведении. - Нет - Стандартное поведение. Дополнительная функциональность отсутствует. Вкладки используются только для переключения на документ щелчком левой кнопки мыши. + Нет + Стандартное поведение. Дополнительная функциональность отсутствует. Вкладки используются только для переключения на документ щелчком левой кнопки мыши. - Да - При выборе этого значения &tdevelop; позволит закрывать окно документа щелчком левой кнопки мыши. Наведите указатель мыши на маленький значок в левой части вкладки. Он изменится на значок закрытия. Щёлкните левой кнопкой мыши на этом значке и &tdevelop; закроет соответствующий документ. + Да + При выборе этого значения &tdevelop; позволит закрывать окно документа щелчком левой кнопки мыши. Наведите указатель мыши на маленький значок в левой части вкладки. Он изменится на значок закрытия. Щёлкните левой кнопкой мыши на этом значке и &tdevelop; закроет соответствующий документ. - Да, с задержкой - После выбора этого значения &tdevelop; позволит закрывать окно документа так же, как при выборе предыдущего значения Да. Значок не сменится немедленно, до появления значка закрытия пройдёт немного времени. + Да, с задержкой + После выбора этого значения &tdevelop; позволит закрывать окно документа так же, как при выборе предыдущего значения Да. Значок не сменится немедленно, до появления значка закрытия пройдёт немного времени. -Настройка вкладок инструментов +Настройка вкладок инструментов -Раздел Вкладки инструментов доступен только в режиме IDEAl. Используйте эти переключатели для настройки внешнего вида вкладок инструментов, окружающих в этом режиме рабочую область. +Раздел Вкладки инструментов доступен только в режиме IDEAl. Используйте эти переключатели для настройки внешнего вида вкладок инструментов, окружающих в этом режиме рабочую область. - Значки + Значки - Каждая вкладка будет содержать только значок. Этот режим может быть предпочтителен, если вы работаете на мониторе с низким разрешением. - Однако, сами значки не всегда понятны. Чтобы узнать, что означает тот или иной значок, наведите курсор мыши на вкладку и подождите. Появится короткая подсказка с названием инструмента. + Каждая вкладка будет содержать только значок. Этот режим может быть предпочтителен, если вы работаете на мониторе с низким разрешением. + Однако, сами значки не всегда понятны. Чтобы узнать, что означает тот или иной значок, наведите курсор мыши на вкладку и подождите. Появится короткая подсказка с названием инструмента. - Текст - Режим обзора инструментов по умолчанию. На каждой вкладки панелей показываются названия соответствующих инструментов. + Текст + Режим обзора инструментов по умолчанию. На каждой вкладки панелей показываются названия соответствующих инструментов. - Текст и значки - Если стандартное текстовая вкладка инструментов кажется слишком плоским и если вы работаете на мониторе с высоким разрешением, то можно выбрать этот пункт. Названия соответствующих инструментов будут показываться на всех вкладках, кроме того, рядом с названиями для удобства различения будут показываться значки. В качестве примера смотрите раздел Свёрнутые вкладки. + Текст и значки + Если стандартное текстовая вкладка инструментов кажется слишком плоским и если вы работаете на мониторе с высоким разрешением, то можно выбрать этот пункт. Названия соответствующих инструментов будут показываться на всех вкладках, кроме того, рядом с названиями для удобства различения будут показываться значки. В качестве примера смотрите раздел Свёрнутые вкладки. -Свёрнутые вкладки +Свёрнутые вкладки -Если в выбранном режиме IDEAl вкладки инструментов содержат текст (со значками или без них), то не стоит волноваться, что некоторые из них будут скрыты другими вкладками инструментов. Если нижняя вкладка инструментов занимает больше места, чем имеется для показа всех вертикальных вкладок, то они расположатся вокруг, как показано на этом рисунке: +Если в выбранном режиме IDEAl вкладки инструментов содержат текст (со значками или без них), то не стоит волноваться, что некоторые из них будут скрыты другими вкладками инструментов. Если нижняя вкладка инструментов занимает больше места, чем имеется для показа всех вертикальных вкладок, то они расположатся вокруг, как показано на этом рисунке: -Вкладки инструментов не перекрываются другими окнами - Вкладки инструментов не перекрываются другими окнами +Вкладки инструментов не перекрываются другими окнами + Вкладки инструментов не перекрываются другими окнами -Активная вкладка инструментов должна быть показана зафиксированной (режим неперекрываемости), разделяя рабочую область с другими окнами, чтобы предотвратить перекрытие. Нажмите на небольшой квадратик на границе окна для такой фиксации, как показано в примере. +Активная вкладка инструментов должна быть показана зафиксированной (режим неперекрываемости), разделяя рабочую область с другими окнами, чтобы предотвратить перекрытие. Нажмите на небольшой квадратик на границе окна для такой фиксации, как показано в примере. - + -Шаблоны файлов - +Шаблоны файлов + -Настройка шаблонов файлов - Настройка шаблонов файлов +Настройка шаблонов файлов + Настройка шаблонов файлов - + -Выбор редактора +Выбор редактора -&tdevelop; позволяет выбрать редактор для редактирования исходного кода. Выберите в окне Настройка KDevelop раздел Редактор. Справа будут показаны следующие параметры: +&tdevelop; позволяет выбрать редактор для редактирования исходного кода. Выберите в окне Настройка KDevelop раздел Редактор. Справа будут показаны следующие параметры: -Редактор - Редактор +Редактор + Редактор -Чтобы выбрать новый редактор, щёлкните по небольшому треугольнику в поле выпадающего списка. В зависимости от установленных в данной версии &kde; редакторов будет предложен список доступных (смотрите важное замечание ниже). Выберите предпочитаемый редактор из списка, затем нажмите OK. В настоящий момент существует два варианта: +Чтобы выбрать новый редактор, щёлкните по небольшому треугольнику в поле выпадающего списка. В зависимости от установленных в данной версии &kde; редакторов будет предложен список доступных (смотрите важное замечание ниже). Выберите предпочитаемый редактор из списка, затем нажмите OK. В настоящий момент существует два варианта: - Встроенный текстовый редактор - Стандартный редактор для &kde; — Kate. + Встроенный текстовый редактор + Стандартный редактор для &kde; — Kate. - Редактор из Qt Designer - Этот редактор поставляется &Qt; с компонентом Designer. + Редактор из Qt Designer + Этот редактор поставляется &Qt; с компонентом Designer. -Редакторы полностью интегрированы в среду &tdevelop;. В частности, возможно перейти к строке исходного кода простым щелчком на сообщении об ошибке в панели Сообщения. +Редакторы полностью интегрированы в среду &tdevelop;. В частности, возможно перейти к строке исходного кода простым щелчком на сообщении об ошибке в панели Сообщения. -Смена редактора никак не повлияет на уже открытые файлы. Есть два варианта решения проблемы. Или закройте все открытые окна с текстом и откройте их заново. Или же просто закройте весь проект и откройте его снова. Окна автоматически будут открыты в интерфейсе нового текстового редактора. +Смена редактора никак не повлияет на уже открытые файлы. Есть два варианта решения проблемы. Или закройте все открытые окна с текстом и откройте их заново. Или же просто закройте весь проект и откройте его снова. Окна автоматически будут открыты в интерфейсе нового текстового редактора. -KDevelop позволяет использовать интерфейсы редакторов, зарегистрированных в &kde;, и поддерживающих интерфейс KatePart. Если отсутствует один из вариантов, показанных выше, проверьте, установлен ли в &kde; соответствующий компонент KPart. +KDevelop позволяет использовать интерфейсы редакторов, зарегистрированных в &kde;, и поддерживающих интерфейс KatePart. Если отсутствует один из вариантов, показанных выше, проверьте, установлен ли в &kde; соответствующий компонент KPart. -При изменениях извне: +При изменениях извне: - Ничего не делать - Файл будет отмечен как изменённый внешне, и при сохранении попросят подтвердить его перезапись. + Ничего не делать + Файл будет отмечен как изменённый внешне, и при сохранении попросят подтвердить его перезапись. - Предупредить пользователя - Диалоговое окно предупредит пользователя, что файл был изменён, и предложит открыть файл заново. + Предупредить пользователя + Диалоговое окно предупредит пользователя, что файл был изменён, и предложит открыть файл заново. - Автоматически перезагрузить файл - Все не изменённые файлы будут открыты заново, в остальных случаях будет выведено предупреждение. + Автоматически перезагрузить файл + Все не изменённые файлы будут открыты заново, в остальных случаях будет выведено предупреждение. - + -Автозамена для завершения слов +Автозамена для завершения слов -(... в процессе написания ...) - +(... в процессе написания ...) + -Поддержка скриптов +Поддержка скриптов -(... в процессе написания ...) - +(... в процессе написания ...) + -Добавление приложений &kde; в меню «Сервис» +Добавление приложений &kde; в меню «Сервис» -(... в процессе написания ...) - +(... в процессе написания ...) + -Добавление внешних приложений в меню +Добавление внешних приложений в меню -(... в процессе написания ...) +(... в процессе написания ...) -Добавление в меню «Сервис» +Добавление в меню «Сервис» -(... в процессе написания ...) - +(... в процессе написания ...) + -Добавление в контекстное меню файлов +Добавление в контекстное меню файлов -(... в процессе написания ...) - +(... в процессе написания ...) + -Добавление в контекстное меню каталогов +Добавление в контекстное меню каталогов -(... в процессе написания ...) - +(... в процессе написания ...) + - + -Выбор стиля форматирования исходного кода - -&tdevelop; автоматически форматирует исходный код в выбранном стиле. Этот стиль легко настроить. - -Переформатирование исходного кода в настоящий момент доступно только для языков C, C++ и &Java;. Его невозможно использовать для скриптовых языков, например для PHP. Это вызвано тем, что &tdevelop; для реализации этой возможности использует программу astyle. - -Чтобы настроить специфический стиль форматирования, выберите пункт меню Настройка Настроить KDevelop.... В появившемся диалоговом окне Настройка KDevelop выберите слева раздел Форматирование. В этом разделе четыре вкладки: Главное, Табуляция и скобки, Отступы и Форматирование. - -Изменение стиля влияет только на вновь вводимый код. Чтобы изменить оформление уже существующего исходного текста воспользуйтесь меню СервисФорматировать исходный код. - -Результат этих определений стиля зависит от используемого редактора. На данный момент большинство параметров ориентировано на «Встроенный текстовый редактор». Некоторые другие редакторы (например, редактор Qt) могут использовать свои собственные параметры настройки. В этом случае необходимо поэкспериментировать, чтобы выяснить результат изменяемых здесь параметров. - -Могут быть также несовместимости между имеющимися здесь параметрами оформления и используемым вами нестандартным редактором, что в редких случаях может даже испортить файлы. Убедитесь, что сохранили резервные копии файлов перед проверкой новых параметров форматирования с таким редактором. +Выбор стиля форматирования исходного кода + +&tdevelop; автоматически форматирует исходный код в выбранном стиле. Этот стиль легко настроить. + +Переформатирование исходного кода в настоящий момент доступно только для языков C, C++ и &Java;. Его невозможно использовать для скриптовых языков, например для PHP. Это вызвано тем, что &tdevelop; для реализации этой возможности использует программу astyle. + +Чтобы настроить специфический стиль форматирования, выберите пункт меню Настройка Настроить KDevelop.... В появившемся диалоговом окне Настройка KDevelop выберите слева раздел Форматирование. В этом разделе четыре вкладки: Главное, Табуляция и скобки, Отступы и Форматирование. + +Изменение стиля влияет только на вновь вводимый код. Чтобы изменить оформление уже существующего исходного текста воспользуйтесь меню СервисФорматировать исходный код. + +Результат этих определений стиля зависит от используемого редактора. На данный момент большинство параметров ориентировано на «Встроенный текстовый редактор». Некоторые другие редакторы (например, редактор Qt) могут использовать свои собственные параметры настройки. В этом случае необходимо поэкспериментировать, чтобы выяснить результат изменяемых здесь параметров. + +Могут быть также несовместимости между имеющимися здесь параметрами оформления и используемым вами нестандартным редактором, что в редких случаях может даже испортить файлы. Убедитесь, что сохранили резервные копии файлов перед проверкой новых параметров форматирования с таким редактором. -Общая настройка форматирования +Общая настройка форматирования -Вкладка Главное в разделе Форматирование предлагает пять предустановленных стилей оформления. +Вкладка Главное в разделе Форматирование предлагает пять предустановленных стилей оформления. -Общая настройка стиля форматирования - Общая настройка стиля форматирования +Общая настройка стиля форматирования + Общая настройка стиля форматирования -Пример стиля форматирования исходного кода показывается справа. Если ни один из предлагаемых стилей не подходит, то можно выбрать стиль Определяемый пользователем и настроить параметры форматирования кода самостоятельно на ставших доступными трёх других вкладках. +Пример стиля форматирования исходного кода показывается справа. Если ни один из предлагаемых стилей не подходит, то можно выбрать стиль Определяемый пользователем и настроить параметры форматирования кода самостоятельно на ставших доступными трёх других вкладках. -В настоящее время пример форматирования показывается только для готовых стилей. При определении собственных стилей примеры не будут доступны. Необходимо экспериментировать с имеющимся исходным кодом для получения желаемого форматирования. +В настоящее время пример форматирования показывается только для готовых стилей. При определении собственных стилей примеры не будут доступны. Необходимо экспериментировать с имеющимся исходным кодом для получения желаемого форматирования. - + -Настройка стиля выставления отступов +Настройка стиля выставления отступов -Правильная расстановка отступов — главный критерий удобочитаемости исходного кода. Вкладка Отступы раздела Форматирование содержит параметры выставления отступов, сгруппированных в две секции. +Правильная расстановка отступов — главный критерий удобочитаемости исходного кода. Вкладка Отступы раздела Форматирование содержит параметры выставления отступов, сгруппированных в две секции. -Настройка стиля выставления отступов - Настройка стиля выставления отступов +Настройка стиля выставления отступов + Настройка стиля выставления отступов -Параметры по умолчанию +Параметры по умолчанию -Представленный выбор форматирования сделает текст похожим на стиль ANSI: +Представленный выбор форматирования сделает текст похожим на стиль ANSI: -namespace foospace +namespace foospace { int Foo() { @@ -1156,100 +559,55 @@ -Установка размера отступов +Установка размера отступов -Переключатель в секции Табуляция определяет символы, которые будут использоваться для выставления отступов. +Переключатель в секции Табуляция определяет символы, которые будут использоваться для выставления отступов. - Использовать табуляцию + Использовать табуляцию - Вставлять символ табуляции для каждого уровня. Длина табуляции определена в настройках редактора (обычно 8 или 4 символа). - Процедура определения ширины табуляции зависит от выбранного редактора в разделе Редактор. Обратитесь к документации по редактору. + Вставлять символ табуляции для каждого уровня. Длина табуляции определена в настройках редактора (обычно 8 или 4 символа). + Процедура определения ширины табуляции зависит от выбранного редактора в разделе Редактор. Обратитесь к документации по редактору. - Использовать пробелы - При выборе этого пункта редактор будет вставлять пробелы для каждого уровня отступа. Измените число пробелов от 2 по умолчанию до нужного количества. + Использовать пробелы + При выборе этого пункта редактор будет вставлять пробелы для каждого уровня отступа. Измените число пробелов от 2 по умолчанию до нужного количества. -Требующие отступов конструкции +Требующие отступов конструкции -Здесь определяется, какие элементы (C/C++) будут форматированы отступами сверх используемого уровня отступов. - -По умолчанию это только пространства имён (namespace) и метки (label). Можно поэкспериментировать с разными вариантами, чтобы настроить их как требуется. +Здесь определяется, какие элементы (C/C++) будут форматированы отступами сверх используемого уровня отступов. + +По умолчанию это только пространства имён (namespace) и метки (label). Можно поэкспериментировать с разными вариантами, чтобы настроить их как требуется. -Переносы длинных строк +Переносы длинных строк -Эти параметры отвечают за те случаи, когда при форматировании кода автоматически переносятся длинные строки. Это происходит в двух случаях: когда установлен слишком большой размер отступа, что на глубоких уровнях отступа требует много места для строки, или есть условные операторы, имеющие дополнительный отступ. +Эти параметры отвечают за те случаи, когда при форматировании кода автоматически переносятся длинные строки. Это происходит в двух случаях: когда установлен слишком большой размер отступа, что на глубоких уровнях отступа требует много места для строки, или есть условные операторы, имеющие дополнительный отступ. -Это применяется к статическому переносу слов только при превышении лимита ширины строки. Если редактор настроен на динамический перенос слов (который возможен в интерфейсе редактора &kate;), то эти параметры не применяются. +Это применяется к статическому переносу слов только при превышении лимита ширины строки. Если редактор настроен на динамический перенос слов (который возможен в интерфейсе редактора &kate;), то эти параметры не применяются. - Максимальная длина выражения + Максимальная длина выражения - Ограничить максимально возможный размер отступа для длинных строк, чтобы оставить достаточно места для сохранения удобочитаемости текста. Строки не будут содержать дополнительные отступы при превышении указанного здесь числа. - Значение по умолчанию — 40 символов (половина стандартной страницы из 80 знаков). При необходимости можно увеличить это число (например, при печати исходного кода в альбомном режиме). Можно также сократить это число для увеличения полей страницы при печати. + Ограничить максимально возможный размер отступа для длинных строк, чтобы оставить достаточно места для сохранения удобочитаемости текста. Строки не будут содержать дополнительные отступы при превышении указанного здесь числа. + Значение по умолчанию — 40 символов (половина стандартной страницы из 80 знаков). При необходимости можно увеличить это число (например, при печати исходного кода в альбомном режиме). Можно также сократить это число для увеличения полей страницы при печати. - Минимум в условном выражении + Минимум в условном выражении - Условные операторы или код, следующий, например, за оператором присваивания, должны получать дополнительный отступ в длинных строках. Его величину можно указать здесь. - По умолчанию указано в два раза больше текущего, означающее, что условные операторы получат дополнительный отступ в размере стандартного отступа, размер которого указан в секции Табуляция. Можно изменить дополнительный отступ на другую фиксированную величину (включая ноль), используя стрелки или введя нужное значение вручную. + Условные операторы или код, следующий, например, за оператором присваивания, должны получать дополнительный отступ в длинных строках. Его величину можно указать здесь. + По умолчанию указано в два раза больше текущего, означающее, что условные операторы получат дополнительный отступ в размере стандартного отступа, размер которого указан в секции Табуляция. Можно изменить дополнительный отступ на другую фиксированную величину (включая ноль), используя стрелки или введя нужное значение вручную. @@ -1257,51 +615,34 @@ - + -Другие параметры форматирования +Другие параметры форматирования -Другие параметры стиля форматирования кода - Другие параметры стиля форматирования кода +Другие параметры стиля форматирования кода + Другие параметры стиля форматирования кода -Расположение фигурных скобок +Расположение фигурных скобок -Переключатель Скобки определяет положение разделителей блоков в коде C и C++. Предлагается оставить без изменения или выбрать из трёх других вариантов. +Переключатель Скобки определяет положение разделителей блоков в коде C и C++. Предлагается оставить без изменения или выбрать из трёх других вариантов. - На новой строке + На новой строке - Вставить символ новой строки перед каждой открывающей фигурной скобкой. Обе скобки будут иметь одинаковый с заголовком блока отступ. + Вставить символ новой строки перед каждой открывающей фигурной скобкой. Обе скобки будут иметь одинаковый с заголовком блока отступ. -namespace foospace +namespace foospace { int Foo() { @@ -1318,19 +659,10 @@ - На той же строке + На той же строке - Оставить открывающую скобку на одной строке с заголовком блока. Закрывающие скобки будут иметь отступ одинаковый с заголовком блока. Оператор else условия if будет оставлен на одной строке с закрывающей скобкой. -namespace foospace { + Оставить открывающую скобку на одной строке с заголовком блока. Закрывающие скобки будут иметь отступ одинаковый с заголовком блока. Оператор else условия if будет оставлен на одной строке с закрывающей скобкой. +namespace foospace { int Foo() { if (isBar) { bar(); @@ -1343,15 +675,10 @@ - Стиль Linux + Стиль Linux - Это совмещение описанных выше стилей. Скобки, отделяющие блок функции, будут переводиться на новую строку, а скобки, открывающие блок условного выражения или цикла, будут оставлены на той же строке. -namespace foospace + Это совмещение описанных выше стилей. Скобки, отделяющие блок функции, будут переводиться на новую строку, а скобки, открывающие блок условного выражения или цикла, будут оставлены на той же строке. +namespace foospace { int Foo() { @@ -1370,44 +697,30 @@ -Дополнительные пробелы +Дополнительные пробелы -По умолчанию, &tdevelop; стремится к уменьшению количества пробелов в исходном коде. +По умолчанию, &tdevelop; стремится к уменьшению количества пробелов в исходном коде. -if (isBar(fooArg)==barValue) +if (isBar(fooArg)==barValue) -Для улучшения читаемости можно вставить дополнительные пробелы. +Для улучшения читаемости можно вставить дополнительные пробелы. - Добавлять пробелы внутри круглых скобок + Добавлять пробелы внутри круглых скобок - На самом деле пробелы будут ставиться вокруг текста, заключённого в круглые скобки. Это улучшает читаемость аргументов функций и условных операторов. -if ( isBar( fooArg )==barValue ) + На самом деле пробелы будут ставиться вокруг текста, заключённого в круглые скобки. Это улучшает читаемость аргументов функций и условных операторов. +if ( isBar( fooArg )==barValue ) - Добавлять пробелы вокруг операторов + Добавлять пробелы вокруг операторов - Вставить пробелы вокруг операторов присваивания и сравнения. -if (isBar(fooArg) == barValue) + Вставить пробелы вокруг операторов присваивания и сравнения. +if (isBar(fooArg) == barValue) @@ -1416,32 +729,18 @@ -Выражения в одной строке +Выражения в одной строке -В некоторых случаях форматирование кода, разделяющее длинную строку, будет лишним. Для кода C и C++ это может быть настроено здесь. +В некоторых случаях форматирование кода, разделяющее длинную строку, будет лишним. Для кода C и C++ это может быть настроено здесь. - Сохранять выражения в одной строке - Не разрывать выражения, даже если они превышают ограничение длины строки. + Сохранять выражения в одной строке + Не разрывать выражения, даже если они превышают ограничение длины строки. - Сохранять блоки в одной строке - Не разрывать блоки, даже если они превышают ограничение длины строки. + Сохранять блоки в одной строке + Не разрывать блоки, даже если они превышают ограничение длины строки. @@ -1449,168 +748,80 @@ - + - + -Настройка заготовок кода - -При работе с &tdevelop; можно сохранять часто используемые участки кода в виде заготовок. Чтобы настроить использование заготовок, выберите пункт Настройка Настроить KDevelop... из меню. В появившемся диалоговом окне Настройка KDevelop выберите слева раздел Заготовки. В правой части появятся параметры настройки. +Настройка заготовок кода + +При работе с &tdevelop; можно сохранять часто используемые участки кода в виде заготовок. Чтобы настроить использование заготовок, выберите пункт Настройка Настроить KDevelop... из меню. В появившемся диалоговом окне Настройка KDevelop выберите слева раздел Заготовки. В правой части появятся параметры настройки. -Настройка заготовок кода - Настройка заготовок кода +Настройка заготовок кода + Настройка заготовок кода -Всплывающие подсказки +Всплывающие подсказки -Установите флажок Показывать содержание заготовки в подсказке для просмотра кода во всплывающей подсказке при наведении указателя мыши на заготовку. +Установите флажок Показывать содержание заготовки в подсказке для просмотра кода во всплывающей подсказке при наведении указателя мыши на заготовку. -Работа с переменными в заготовках +Работа с переменными в заготовках -Инструмент Заготовки допускает использование переменных в предопределённых местах каждый раз при вставке заготовки в файл. Для реализации этого раздел Заготовки предоставляет свой собственный механизм переменных. Их можно настроить в секции Переменные. +Инструмент Заготовки допускает использование переменных в предопределённых местах каждый раз при вставке заготовки в файл. Для реализации этого раздел Заготовки предоставляет свой собственный механизм переменных. Их можно настроить в секции Переменные. - Разделитель - Инструмент Заготовки различает переменные в тексте путём добавления к названию переменной специального символа разделителя. Чтобы использовать другой символ, измените установленный по умолчанию символ $ в поле Разделитель. + Разделитель + Инструмент Заготовки различает переменные в тексте путём добавления к названию переменной специального символа разделителя. Чтобы использовать другой символ, измените установленный по умолчанию символ $ в поле Разделитель. - Метод задания значений переменных - - Отдельный диалог для каждой переменной — вывести отдельный диалог для каждой переменной, которая будет найдена при вставке заготовки в текст. - Одно окно для всех переменных заготовки — вывести при вставке заготовки один общий диалог для указания значений всех переменных. - + Метод задания значений переменных + + Отдельный диалог для каждой переменной — вывести отдельный диалог для каждой переменной, которая будет найдена при вставке заготовки в текст. + Одно окно для всех переменных заготовки — вывести при вставке заготовки один общий диалог для указания значений всех переменных. + - + -Окна +Окна -(... в процессе написания ...) +(... в процессе написания ...) - + -Файлы +Файлы -&tdevelop; содержит модуль Выбор файлов, который позволяет выбрать любой файл или каталог в файловой системе. +&tdevelop; содержит модуль Выбор файлов, который позволяет выбрать любой файл или каталог в файловой системе. -Выбор файлов в режиме IDEAl - Выбор файлов (режим IDEAl) +Выбор файлов в режиме IDEAl + Выбор файлов (режим IDEAl) -Панель Файлы может быть гибко настроено. Откройте Настройка Настроить KDevelop... . В диалоговом окне Настройка KDevelop выберите слева раздел Файлы. +Панель Файлы может быть гибко настроено. Откройте Настройка Настроить KDevelop... . В диалоговом окне Настройка KDevelop выберите слева раздел Файлы. @@ -1618,234 +829,118 @@ -Настройка выбора файлов - Настройка выбора файлов +Настройка выбора файлов + Настройка выбора файлов -Настройка панели инструментов +Настройка панели инструментов -Панель инструментов выбора файлов можно настроить как обычно. +Панель инструментов выбора файлов можно настроить как обычно. - Добавление действия на панель инструментов + Добавление действия на панель инструментов - Выберите пункт из списка Выбранные действия справа, после которого нужно вставить новое действие. + Выберите пункт из списка Выбранные действия справа, после которого нужно вставить новое действие. - Выберите действие для вставки из списка Доступные действия слева. + Выберите действие для вставки из списка Доступные действия слева. - Нажмите кнопку со стрелкой вправо, расположенную между списками. - Действие будет изъято из списка Доступные действия и вставлено в список Выбранные действия после выбранного пункта. + Нажмите кнопку со стрелкой вправо, расположенную между списками. + Действие будет изъято из списка Доступные действия и вставлено в список Выбранные действия после выбранного пункта. - Удаление действия c панели инструментов + Удаление действия c панели инструментов - Выберите пункт, который нужно удалить, в списке Выбранные действия. + Выберите пункт, который нужно удалить, в списке Выбранные действия. - Нажмите кнопку со стрелкой влево, расположенную между списками. - Выбранный пункт будет изъят из списка Выбранные действия и перемещён назад в список Доступные действия. + Нажмите кнопку со стрелкой влево, расположенную между списками. + Выбранный пункт будет изъят из списка Выбранные действия и перемещён назад в список Доступные действия. - Изменение порядка пунктов в панели инструментов + Изменение порядка пунктов в панели инструментов - Выберите действие, которое нужно переместить, в списке Выбранные действия справа. + Выберите действие, которое нужно переместить, в списке Выбранные действия справа. - Нажмите кнопку со стрелкой вверх или стрелкой вниз. - Выбранный пункт будет перемещён выше или ниже по списку Выбранные действия. + Нажмите кнопку со стрелкой вверх или стрелкой вниз. + Выбранный пункт будет перемещён выше или ниже по списку Выбранные действия. -Способ обновления содержимого +Способ обновления содержимого -Обновление содержимого панели требует времени и ресурсов, особенно, когда осуществляется открытие каталога с большим количеством файлов. Поэтому по умолчанию панель Файлы настроена на обновление только по запросу, например, при смене каталога или при намеренном обновлении его содержимого. - -Нажмите кнопку Обновить в панели для обновления содержимого панели. Эта кнопка по умолчанию отсутствует. Нужно сначала добавить её. - -Можно настроить панель для немедленного показа вносимых изменений в файловую систему. Параметры секции Автоматическая синхронизация отвечают за это. +Обновление содержимого панели требует времени и ресурсов, особенно, когда осуществляется открытие каталога с большим количеством файлов. Поэтому по умолчанию панель Файлы настроена на обновление только по запросу, например, при смене каталога или при намеренном обновлении его содержимого. + +Нажмите кнопку Обновить в панели для обновления содержимого панели. Эта кнопка по умолчанию отсутствует. Нужно сначала добавить её. + +Можно настроить панель для немедленного показа вносимых изменений в файловую систему. Параметры секции Автоматическая синхронизация отвечают за это. - При активизации документа - При выборе этого пункта содержимое панели будет обновляться при переходе к другому открытому документу, например, при щелчке на вкладке окне редактируемого файла в режиме IDEAl. Если будет необходимо, панель переключится на каталог, в котором расположен этот файл, и обновит содержимое. + При активизации документа + При выборе этого пункта содержимое панели будет обновляться при переходе к другому открытому документу, например, при щелчке на вкладке окне редактируемого файла в режиме IDEAl. Если будет необходимо, панель переключится на каталог, в котором расположен этот файл, и обновит содержимое. - При открытии документа - При выборе этого пункта содержание панели будет обновляться при открытии файла, например, через меню ФайлОткрыть. Если будет необходимо, панель переключится на каталог, в котором расположен этот файл, и обновит содержимое. + При открытии документа + При выборе этого пункта содержание панели будет обновляться при открытии файла, например, через меню ФайлОткрыть. Если будет необходимо, панель переключится на каталог, в котором расположен этот файл, и обновит содержимое. - При показе панели выбора файла - При выборе этого пункта содержание панели будет обновляться когда панель снова станет видимой. Если будет необходимо, панель переключится на каталог, в котором расположен текущий открытый файл, и обновит содержимое. + При показе панели выбора файла + При выборе этого пункта содержание панели будет обновляться когда панель снова станет видимой. Если будет необходимо, панель переключится на каталог, в котором расположен текущий открытый файл, и обновит содержимое. -Эти параметры можно как угодно комбинировать для настройки желаемого поведения. +Эти параметры можно как угодно комбинировать для настройки желаемого поведения. -Количество пунктов в выпадающих списках +Количество пунктов в выпадающих списках -Под секцией Автоматическая синхронизация находится два счётчика, которые задают максимальное количество пунктов в выпадающих списках каталогов и фильтров на панели, в которые попадают вводимые значения. +Под секцией Автоматическая синхронизация находится два счётчика, которые задают максимальное количество пунктов в выпадающих списках каталогов и фильтров на панели, в которые попадают вводимые значения. - Максимальное количество запоминаемых каталогов - Введите максимальное количество каталогов, которые должны сохраняться в списке. + Максимальное количество запоминаемых каталогов + Введите максимальное количество каталогов, которые должны сохраняться в списке. - Максимальное количество запоминаемых фильтров - Введите максимальное количество фильтров, которые должны сохраняться в списке. + Максимальное количество запоминаемых фильтров + Введите максимальное количество фильтров, которые должны сохраняться в списке. -Что запоминать между сеансами +Что запоминать между сеансами -По умолчанию панель настроена на восстановление каталога и фильтра при следующем запуске &tdevelop;. Можно изменить эти параметры в секции Сеанс. - -При автоматическом запуске &tdevelop; менеджером сеансов &kde; изменения этих параметров не учитываются. В этом случае каталог и фильтр будут восстанавливаться всегда. +По умолчанию панель настроена на восстановление каталога и фильтра при следующем запуске &tdevelop;. Можно изменить эти параметры в секции Сеанс. + +При автоматическом запуске &tdevelop; менеджером сеансов &kde; изменения этих параметров не учитываются. В этом случае каталог и фильтр будут восстанавливаться всегда. - Восстанавливать каталог + Восстанавливать каталог - Снимите флажок, если не хотите, чтобы каталог в панели выбора файлов запоминался между сеансами. - Если вы выбрали один из параметров автоматического обновления содержимого каталога, каталог может автоматически меняться несмотря на сохранённое значение с прошлого сеанса. + Снимите флажок, если не хотите, чтобы каталог в панели выбора файлов запоминался между сеансами. + Если вы выбрали один из параметров автоматического обновления содержимого каталога, каталог может автоматически меняться несмотря на сохранённое значение с прошлого сеанса. - Восстанавливать фильтр + Восстанавливать фильтр - Снимите флажок, если не хотите, чтобы применяемый фильтр запоминался между сеансами. + Снимите флажок, если не хотите, чтобы применяемый фильтр запоминался между сеансами. @@ -1853,144 +948,72 @@ - + -Генератор классов C++ +Генератор классов C++ -(... в процессе написания ...) +(... в процессе написания ...) - + -Форматирование +Форматирование -(... в процессе написания ...) +(... в процессе написания ...) - + -Анализ кода C++ +Анализ кода C++ -(... в процессе написания ...) +(... в процессе написания ...) - + - + -Настройка документации +Настройка документации -&tdevelop; содержит мощную справочную систему, предоставляющую доступ к нескольким видам справки. Например, в режиме IDEAl есть вкладка Документация у правой границы рабочей области. +&tdevelop; содержит мощную справочную систему, предоставляющую доступ к нескольким видам справки. Например, в режиме IDEAl есть вкладка Документация у правой границы рабочей области. -Панель документации в режиме IDEAl - Панель документации (режим IDEAl) +Панель документации в режиме IDEAl + Панель документации (режим IDEAl) -Для доступа к документации &tdevelop; должен быть загружен модуль Документация. Смотрите раздел Подключаемые модули. - -Можно настроить содержимое и поведение различных частей справочной панели, выбрав в меню Настройка Настроить KDevelop.... В появившемся диалоговом окне Настройка KDevelop выберите слева раздел Документация. - -В этом разделе доступны три вкладки. +Для доступа к документации &tdevelop; должен быть загружен модуль Документация. Смотрите раздел Подключаемые модули. + +Можно настроить содержимое и поведение различных частей справочной панели, выбрав в меню Настройка Настроить KDevelop.... В появившемся диалоговом окне Настройка KDevelop выберите слева раздел Документация. + +В этом разделе доступны три вкладки. - Коллекции документации - Полнотекстовый поиск - Разное + Коллекции документации + Полнотекстовый поиск + Разное -Настройка коллекций документации - -Документация состоят из коллекций руководств, каждое из которых предоставляет доступ к файлам документации определённых форматов и содержания. Эти параметры отвечают за то, какие коллекции документации будет показываться на панели Документация, а также задают способ доступа к справочной информации через индексы и полнотекстовый поиск. -Вкладка настройки коллекций содержит список всех доступных коллекций документации. &tdevelop; поддерживает различные типы коллекций документации: +Настройка коллекций документации + +Документация состоят из коллекций руководств, каждое из которых предоставляет доступ к файлам документации определённых форматов и содержания. Эти параметры отвечают за то, какие коллекции документации будет показываться на панели Документация, а также задают способ доступа к справочной информации через индексы и полнотекстовый поиск. +Вкладка настройки коллекций содержит список всех доступных коллекций документации. &tdevelop; поддерживает различные типы коллекций документации: - Коллекция документации &Qt; - Коллекция документации CHM - Коллекция документации Doxygen - Коллекция документации KDevelopTOC - Коллекция документации Devhelp - Пользовательская коллекция документации + Коллекция документации &Qt; + Коллекция документации CHM + Коллекция документации Doxygen + Коллекция документации KDevelopTOC + Коллекция документации Devhelp + Пользовательская коллекция документации @@ -1999,70 +1022,41 @@ -Настройка коллекций документации - Настройка коллекций документации +Настройка коллекций документации + Настройка коллекций документации -Элементы настройки коллекций документации +Элементы настройки коллекций документации -Список доступных коллекций расположен слева, кнопки по управлению элементами списка — справа. +Список доступных коллекций расположен слева, кнопки по управлению элементами списка — справа. -Кнопки управления списком коллекций +Кнопки управления списком коллекций -Для управления списком доступны три кнопки: +Для управления списком доступны три кнопки: - Добавить... + Добавить... - Открыть диалоговое окно Коллекция документации, позволяющее указать путь к документации и её название. + Открыть диалоговое окно Коллекция документации, позволяющее указать путь к документации и её название. - Изменить... + Изменить... - Открыть диалоговое окно Коллекция документации, позволяющее изменить путь к ранее выбранной документации и переименовать её. + Открыть диалоговое окно Коллекция документации, позволяющее изменить путь к ранее выбранной документации и переименовать её. - Удалить + Удалить - Удалить выбранную коллекцию из списка. - Коллекция будет удалена только из списка. Файлы документации не будут удалены. Если документация не нужна, удалите её самостоятельно другими средствами. + Удалить выбранную коллекцию из списка. + Коллекция будет удалена только из списка. Файлы документации не будут удалены. Если документация не нужна, удалите её самостоятельно другими средствами. @@ -2072,852 +1066,381 @@ - Добавление или изменение коллекции документации + Добавление или изменение коллекции документации -Кнопка справа от поля Расположение открывает диалоговое окно выбора каталога, показывающее файлы в зависимости от выбранного типа. -Поле Заголовок может быть недоступным для некоторых типов коллекций. +Кнопка справа от поля Расположение открывает диалоговое окно выбора каталога, показывающее файлы в зависимости от выбранного типа. +Поле Заголовок может быть недоступным для некоторых типов коллекций. -Список коллекций документации +Список коллекций документации -Список коллекций содержит четыре столбца: +Список коллекций содержит четыре столбца: - Содержание + Содержание - Если в этом столбце установлен флажок, данная коллекция будет показана на вкладке Содержание панели Документация. - Снятие флажка в столбце Содержание приведёт к снятию флажков в столбцах Индекс и Поиск. Таким образом, нельзя получить доступ к индексу документации, не показанному в содержании. + Если в этом столбце установлен флажок, данная коллекция будет показана на вкладке Содержание панели Документация. + Снятие флажка в столбце Содержание приведёт к снятию флажков в столбцах Индекс и Поиск. Таким образом, нельзя получить доступ к индексу документации, не показанному в содержании. - Индекс + Индекс - Если флажок установлен, коллекция будет проиндексирована. Это позволит быстро искать в коллекции на вкладках Индекс и Искать в индексе панели Документация. + Если флажок установлен, коллекция будет проиндексирована. Это позволит быстро искать в коллекции на вкладках Индекс и Искать в индексе панели Документация. - Внутренний индекс будет построен при первом переходе на вкладку Индекс. На это потребуется некоторое время, поскольку индекс должен быть прочтён с диска и затем кэширован. - При последующих обращениях к индексированному поиску будет использован созданный кэш, это будет намного быстрее. + Внутренний индекс будет построен при первом переходе на вкладку Индекс. На это потребуется некоторое время, поскольку индекс должен быть прочтён с диска и затем кэширован. + При последующих обращениях к индексированному поиску будет использован созданный кэш, это будет намного быстрее. - Поиск + Поиск - Если флажок установлен, содержание этого коллекции будет включено в кэш для полнотекстового поиска на вкладке Поиск панели документации. + Если флажок установлен, содержание этого коллекции будет включено в кэш для полнотекстового поиска на вкладке Поиск панели документации. - &tdevelop; использует утилиту htdig для полнотекстового поиска. Поиск производится по внутреннему индексу, который должен быть создан посредством htdig до первого использования. - Для вступления изменений в силу нужно будет обновить индекс на вкладке Поиск панели документации. + &tdevelop; использует утилиту htdig для полнотекстового поиска. Поиск производится по внутреннему индексу, который должен быть создан посредством htdig до первого использования. + Для вступления изменений в силу нужно будет обновить индекс на вкладке Поиск панели документации. - Заголовок - Название раздела, показываемого на вкладке Содержание панели документации. + Заголовок + Название раздела, показываемого на вкладке Содержание панели документации. -В некоторых прежних версиях &tdevelop; можно было выбирать, какие пункты документации показывать для конкретного проекта. Теперь эта возможность отключена. +В некоторых прежних версиях &tdevelop; можно было выбирать, какие пункты документации показывать для конкретного проекта. Теперь эта возможность отключена. - + -Коллекции документации &Qt; +Коллекции документации &Qt; -На этой вкладке можно настроить документацию по &Qt;. +На этой вкладке можно настроить документацию по &Qt;. -Настройка коллекции документации &Qt; - Настройка коллекции документации &Qt; +Настройка коллекции документации &Qt; + Настройка коллекции документации &Qt; -Как правило, этот пункт заполняется при первом запуске &tdevelop;. Будет произведён поиск файлов документации в формате *.xml или *.dcf в каталоге &Qt;. Слева показывается список найденных файлов. - -Если используется нестандартная установка, то либо информация будет отсутствовать вовсе, либо записи будут ссылаться на неверное место (например, на другую версию &Qt;, установленную в системе). Можно указать пути кнопками справа. - -&tdevelop; будет использовать имеющиеся заголовки страниц установленной документации &Qt;. Поэтому поле Заголовок в диалоге создания и изменения коллекции недоступно. - -По умолчанию, на вкладке Содержание показывается не вся документация &Qt;. Для выбора показываемой коллекции установите флажок в столбце Содержание в списке коллекций. - -Чтобы использовать документацию &Qt;, включенную в индекс поиска или полнотекстовый поиск, установите флажки в столбцах Индекс и Поиск на соответствующей вкладке настройки. - - +Как правило, этот пункт заполняется при первом запуске &tdevelop;. Будет произведён поиск файлов документации в формате *.xml или *.dcf в каталоге &Qt;. Слева показывается список найденных файлов. + +Если используется нестандартная установка, то либо информация будет отсутствовать вовсе, либо записи будут ссылаться на неверное место (например, на другую версию &Qt;, установленную в системе). Можно указать пути кнопками справа. + +&tdevelop; будет использовать имеющиеся заголовки страниц установленной документации &Qt;. Поэтому поле Заголовок в диалоге создания и изменения коллекции недоступно. + +По умолчанию, на вкладке Содержание показывается не вся документация &Qt;. Для выбора показываемой коллекции установите флажок в столбце Содержание в списке коллекций. + +Чтобы использовать документацию &Qt;, включенную в индекс поиска или полнотекстовый поиск, установите флажки в столбцах Индекс и Поиск на соответствующей вкладке настройки. + + -Настройка коллекции документации CHM +Настройка коллекции документации CHM -На этой вкладке можно настроить просмотр файлов документации в формате &Microsoft; CHM. +На этой вкладке можно настроить просмотр файлов документации в формате &Microsoft; CHM. -Настройка документации в формате &Microsoft; CHM - Настройка документации в формате &Microsoft; CHM +Настройка документации в формате &Microsoft; CHM + Настройка документации в формате &Microsoft; CHM -По умолчанию, эта вкладка будет пустой (как показано выше). Можно добавить новые элементы соответствующими кнопками справа от списка. При выборе расположения будут показаны только файлы *.chm. +По умолчанию, эта вкладка будет пустой (как показано выше). Можно добавить новые элементы соответствующими кнопками справа от списка. При выборе расположения будут показаны только файлы *.chm. -Дополнительную информацию о формате &Microsoft; *.chm можно получить, например, на сайте PHP: Documentation - Extended CHM Format. +Дополнительную информацию о формате &Microsoft; *.chm можно получить, например, на сайте PHP: Documentation - Extended CHM Format. - + -Документация, сгенерированная Doxygen +Документация, сгенерированная Doxygen -На этой вкладке можно настроить работу с документацией по &API;, сгенерированной &doxygen;. +На этой вкладке можно настроить работу с документацией по &API;, сгенерированной &doxygen;. -Настройка документации по &API; - Настройка документации по &API; +Настройка документации по &API; + Настройка документации по &API; -Документация по &API; содержит описание интерфейсов библиотек. Документация по &API; генерируется внешней программой &doxygen;. -Сгенерированная &doxygen; документация по &API; состоит из набора файлов html, в том числе файла index.html, содержащего содержание. Также в ней могут присутствовать файлы tag для привязки к уже существующей документации по &API;. &tdevelop; будет искать index.html и файлы с расширением *.tag во время поиска документации по &API;. -Существует ряд ограничений, накладываемых при поиске документации по &API;. Каталог, в которой находится файл index.html, должен содержать подкаталоги с отдельными коллекциями документации. В каждой из них должен быть файл .tag и каталог html/. -Примером такой структуры документации &doxygen; по &API; служит $TDEDIR/share/doc/HTML/en/tdelibs-apidocs. - -Старый формат KDoc документации по &API; &kde; больше не поддерживается напрямую. Если всё же требуется воспользоваться документацией в старом формате, добавьте файлы как пользовательскую коллекцию документации. - -&tdevelop; будет содержать найденные в &kde; пути к &API; библиотек. Есть несколько способов для их обнаружения. +Документация по &API; содержит описание интерфейсов библиотек. Документация по &API; генерируется внешней программой &doxygen;. +Сгенерированная &doxygen; документация по &API; состоит из набора файлов html, в том числе файла index.html, содержащего содержание. Также в ней могут присутствовать файлы tag для привязки к уже существующей документации по &API;. &tdevelop; будет искать index.html и файлы с расширением *.tag во время поиска документации по &API;. +Существует ряд ограничений, накладываемых при поиске документации по &API;. Каталог, в которой находится файл index.html, должен содержать подкаталоги с отдельными коллекциями документации. В каждой из них должен быть файл .tag и каталог html/. +Примером такой структуры документации &doxygen; по &API; служит $TDEDIR/share/doc/HTML/en/tdelibs-apidocs. + +Старый формат KDoc документации по &API; &kde; больше не поддерживается напрямую. Если всё же требуется воспользоваться документацией в старом формате, добавьте файлы как пользовательскую коллекцию документации. + +&tdevelop; будет содержать найденные в &kde; пути к &API; библиотек. Есть несколько способов для их обнаружения. - Сообщите путь к документации скрипту configure с помощью параметра при компиляции &tdevelop; (смотрите раздел Где взять документацию по &API; &tdevelop;). - Обычно команда configure автоматически находит пути в стандартных каталогах. - Если документация автоматически не обнаружена, при первом запуске &tdevelop; будет проверен каталог $TDEDIR/share/doc/HTML/en/tdelibs-apidocs/. + Сообщите путь к документации скрипту configure с помощью параметра при компиляции &tdevelop; (смотрите раздел Где взять документацию по &API; &tdevelop;). + Обычно команда configure автоматически находит пути в стандартных каталогах. + Если документация автоматически не обнаружена, при первом запуске &tdevelop; будет проверен каталог $TDEDIR/share/doc/HTML/en/tdelibs-apidocs/. -Если &tdevelop; не обнаружил документацию при первом запуске, список Коллекция документации Doxygen будет пустым. - -Добавить записи о своей документации по &API; (например, для своего текущего проекта) можно с помощью кнопок справа. Если требуется проиндексировать документацию или включить её в полнотекстовый поиск, установите флажки в столбцах Индекс или Поиск в списке коллекций. - -&tdevelop; берёт информацию о заголовках из файла index.html. Поэтому поле Заголовок в диалоговом окне Коллекция документации недоступно. +Если &tdevelop; не обнаружил документацию при первом запуске, список Коллекция документации Doxygen будет пустым. + +Добавить записи о своей документации по &API; (например, для своего текущего проекта) можно с помощью кнопок справа. Если требуется проиндексировать документацию или включить её в полнотекстовый поиск, установите флажки в столбцах Индекс или Поиск в списке коллекций. + +&tdevelop; берёт информацию о заголовках из файла index.html. Поэтому поле Заголовок в диалоговом окне Коллекция документации недоступно. - Документация по &API; &kde; не ограничивается только описанием &API; библиотек &kde;. Если вы хотите получить дополнительную информацию об интерфейсах (например, как включить модуль &kate; в ваши программы), установите &kde; Base Libraries &API; из исходного кода командами make apidox и make install для пакета tdebase и добавьте коллекцию Doxygen. - + Документация по &API; &kde; не ограничивается только описанием &API; библиотек &kde;. Если вы хотите получить дополнительную информацию об интерфейсах (например, как включить модуль &kate; в ваши программы), установите &kde; Base Libraries &API; из исходного кода командами make apidox и make install для пакета tdebase и добавьте коллекцию Doxygen. + -Добавление базового &API; &kde; - Добавление базового &API; &kde; - - Укажите в поле Расположение реальный каталог установки вместо /home/dev/mykde-system/. +Добавление базового &API; &kde; + Добавление базового &API; &kde; + + Укажите в поле Расположение реальный каталог установки вместо /home/dev/mykde-system/. -Аналогичным образом можно добавить в список Коллекция документации Doxygen документацию по &API; вашего проекта. Предыдущие версии &tdevelop; разрешали указывать коллекцию документации отдельно для каждого проекта. Теперь эта возможность не поддерживается. +Аналогичным образом можно добавить в список Коллекция документации Doxygen документацию по &API; вашего проекта. Предыдущие версии &tdevelop; разрешали указывать коллекцию документации отдельно для каждого проекта. Теперь эта возможность не поддерживается. - + -Иерархическая документация (KDevelopTOC) +Иерархическая документация (KDevelopTOC) -Система документации &tdevelop; предоставляет немедленный доступ к иерархически расположенной структуре документации, расположенной как локально, так и в Интернете. Это настраивается на странице Коллекция документации KDevelopTOC (TOC — Table Of Contents, содержание). +Система документации &tdevelop; предоставляет немедленный доступ к иерархически расположенной структуре документации, расположенной как локально, так и в Интернете. Это настраивается на странице Коллекция документации KDevelopTOC (TOC — Table Of Contents, содержание). - Документация в формате KDevelopTOC + Документация в формате KDevelopTOC -&tdevelop; поставляется с большим набором готовых файлов KDevelopTOC, автоматически добавляющихся в список коллекций. Чтобы не загромождать экран, показываются только наиболее важные из них. Чтобы обратиться к другой коллекции, установите флажок в столбце Содержание в списке коллекций. - -Файлы KDevelopTOC не могут быть проиндексированы для полнотекстового поиска, так как обычно они содержат ссылки на онлайновую документацию. С другой стороны, содержание в файле .toc может быть быть задано вручную в теге <index>. Поэтому флажок Индекс будет доступен только если будет тег <index> в файле .toc. Описание Файлов TOC приведено ниже. -Флажок Поиск будет всегда недоступен. - -Новую коллекцию можно добавить соответствующими кнопками справа от списка. В диалоге выбора расположения будут показаны только файлы *.toc. - -В отличие от предыдущих версий &tdevelop; кнопка Удалить не удаляет с диска файл .toc, а лишь убирает его из списка, поэтому операция удаления сейчас безопасна. - - +&tdevelop; поставляется с большим набором готовых файлов KDevelopTOC, автоматически добавляющихся в список коллекций. Чтобы не загромождать экран, показываются только наиболее важные из них. Чтобы обратиться к другой коллекции, установите флажок в столбце Содержание в списке коллекций. + +Файлы KDevelopTOC не могут быть проиндексированы для полнотекстового поиска, так как обычно они содержат ссылки на онлайновую документацию. С другой стороны, содержание в файле .toc может быть быть задано вручную в теге <index>. Поэтому флажок Индекс будет доступен только если будет тег <index> в файле .toc. Описание Файлов TOC приведено ниже. +Флажок Поиск будет всегда недоступен. + +Новую коллекцию можно добавить соответствующими кнопками справа от списка. В диалоге выбора расположения будут показаны только файлы *.toc. + +В отличие от предыдущих версий &tdevelop; кнопка Удалить не удаляет с диска файл .toc, а лишь убирает его из списка, поэтому операция удаления сейчас безопасна. + + -Файлы TOC +Файлы TOC -Для наглядности продемонстрируем преимущества использования файлов TOC на следующем примере. Откройте панель «Документация» и найдите в дереве документации на вкладке «Содержание» пункт «KDevelop API documetation». Нажмите на стрелку слева от названия. Откроется структура, позволяющая перейти к необходимому разделу. При этом &tdevelop; не будет получать информацию из Интернета. Если же вы нажмёте на названии главы, &tdevelop; откроет страницу с этой главой из Интернета. +Для наглядности продемонстрируем преимущества использования файлов TOC на следующем примере. Откройте панель «Документация» и найдите в дереве документации на вкладке «Содержание» пункт «KDevelop API documetation». Нажмите на стрелку слева от названия. Откроется структура, позволяющая перейти к необходимому разделу. При этом &tdevelop; не будет получать информацию из Интернета. Если же вы нажмёте на названии главы, &tdevelop; откроет страницу с этой главой из Интернета. -Польза этого не только в возможности локально перемещаться по онлайновой документации без траты трафика, но и в предоставлении разработчику удобного и простого доступа к требуемой информации. Используя этот инструмент, любой может получить доступ к онлайновой документации в режиме структуры, даже если она не содержит элементов или структурирована иным способом. Всё, что нужно — это возможность открытия файлов или потоков в Konqueror. +Польза этого не только в возможности локально перемещаться по онлайновой документации без траты трафика, но и в предоставлении разработчику удобного и простого доступа к требуемой информации. Используя этот инструмент, любой может получить доступ к онлайновой документации в режиме структуры, даже если она не содержит элементов или структурирована иным способом. Всё, что нужно — это возможность открытия файлов или потоков в Konqueror. -Такой доступ к структуре сделал возможным использование специальных файлов содержания, которые имеют расширение .toc. Любой файл TOC содержит структурированное описание документа в формате &XML;. +Такой доступ к структуре сделал возможным использование специальных файлов содержания, которые имеют расширение .toc. Любой файл TOC содержит структурированное описание документа в формате &XML;. -Стандартный каталог файлов TOC +Стандартный каталог файлов TOC -При установке &tdevelop; устанавливает обычно серию готовых файлов .toc в каталог $TDEDIR/share/apps/kdevdocumentation/tocs. Это очень простые структурированные текстовые файлы. Можно просмотреть их, используя текстовый редактор или другую программу просмотра текста. +При установке &tdevelop; устанавливает обычно серию готовых файлов .toc в каталог $TDEDIR/share/apps/kdevdocumentation/tocs. Это очень простые структурированные текстовые файлы. Можно просмотреть их, используя текстовый редактор или другую программу просмотра текста. - + - Структура файлов TOC + Структура файлов TOC - заголовок + заголовок - <!DOCTYPE tdeveloptoc> + <!DOCTYPE tdeveloptoc> - <tdeveloptoc> + <tdeveloptoc> - (заголовок) + (заголовок) - (базовый адрес) + (базовый адрес) - (структура содержимого) + (структура содержимого) - (структура индекса) + (структура индекса) - </tdeveloptoc> + </tdeveloptoc> - Структура &XML; будет анализироваться модулем &tdevelop; Документация для генерации содержания в дереве документации и для помощи пользователю в навигации. Она содержит всю информацию, необходимую для показа заголовков и доступа к содержимому файлов документации. + Структура &XML; будет анализироваться модулем &tdevelop; Документация для генерации содержания в дереве документации и для помощи пользователю в навигации. Она содержит всю информацию, необходимую для показа заголовков и доступа к содержимому файлов документации. - заголовок + заголовок - <title> (некоторая строка) </title> + <title> (некоторая строка) </title> - Заголовок раздела на верхнем уровне дерева документации. - Показываемые здесь заголовки пользователь не может изменить. Если нужно показать другой текст, отредактируйте вручную тег <title> в файле .toc. + Заголовок раздела на верхнем уровне дерева документации. + Показываемые здесь заголовки пользователь не может изменить. Если нужно показать другой текст, отредактируйте вручную тег <title> в файле .toc. - базовый адрес + базовый адрес - <base href=" (&URL; документов) "/> + <base href=" (&URL; документов) "/> - Этот адрес указывает на расположение всех файлов документации. Он будет использован для генерации полного адреса при вызове страниц онлайновой документации. + Этот адрес указывает на расположение всех файлов документации. Он будет использован для генерации полного адреса при вызове страниц онлайновой документации. - структура содержимого + структура содержимого - <tocsect1 name=" (заголовок раздела) " url=" (&URL; раздела) "> - ... - <tocsectn name=" (заголовок раздела) " url=" (&URL; раздела) "/> - ... + <tocsect1 name=" (заголовок раздела) " url=" (&URL; раздела) "> + ... + <tocsectn name=" (заголовок раздела) " url=" (&URL; раздела) "/> + ... - </tocsect1> + </tocsect1> - Вся оставшаяся информация о навигации и доступе записывается в серию пар <tocsecti> ... </tocsecti>. Каждый i обозначает уровень навигации вниз к номеру n, который связан с показываемым разделом документации. - Любой тег <tocsecti> должен иметь атрибут name="xxx", ассоциированный с ней ("xxx" обозначает строку заголовка). Это название будет показываться как заголовок уровня в дереве документации. Оно должно быть быть связан с определённым разделом документации. - Привязка может осуществляться через атрибут url="", который ассоциируется с любым уровнем вложенности i. Если пользователь щёлкает на заголовке раздела в дереве документации, то &tdevelop; будет пытаться обратиться к файлу через &URL;, составленный из базового и &URL; данного раздела. - Тег <tocsectn/> должен содержать атрибут url="". Последний вложенный <tocsectn/> будет закрыт/ перед скобкой >. - Любой адрес, составленный из базового &URL; и &URL; раздела, должен указывать на какой-то показываемый файл. Обычно это файл HTML. Можно сделать ссылку внутри такого файла с помощью стандартного знака # в таком формате: /base-url/section-url#anchor-mark. + Вся оставшаяся информация о навигации и доступе записывается в серию пар <tocsecti> ... </tocsecti>. Каждый i обозначает уровень навигации вниз к номеру n, который связан с показываемым разделом документации. + Любой тег <tocsecti> должен иметь атрибут name="xxx", ассоциированный с ней ("xxx" обозначает строку заголовка). Это название будет показываться как заголовок уровня в дереве документации. Оно должно быть быть связан с определённым разделом документации. + Привязка может осуществляться через атрибут url="", который ассоциируется с любым уровнем вложенности i. Если пользователь щёлкает на заголовке раздела в дереве документации, то &tdevelop; будет пытаться обратиться к файлу через &URL;, составленный из базового и &URL; данного раздела. + Тег <tocsectn/> должен содержать атрибут url="". Последний вложенный <tocsectn/> будет закрыт/ перед скобкой >. + Любой адрес, составленный из базового &URL; и &URL; раздела, должен указывать на какой-то показываемый файл. Обычно это файл HTML. Можно сделать ссылку внутри такого файла с помощью стандартного знака # в таком формате: /base-url/section-url#anchor-mark. - структура индекса + структура индекса - <index> + <index> - <entry name=" (заголовок индекса) " url=" (&URL; раздела индекса) "/> + <entry name=" (заголовок индекса) " url=" (&URL; раздела индекса) "/> - </index> + </index> - Индекс — это простой список индексных записей — пар заголовок и &URL;. Индекс не обязателен. + Индекс — это простой список индексных записей — пар заголовок и &URL;. Индекс не обязателен. - + -Документация DevHelp - -Документация DevHelp — другой способ доступа к структурированной информации. Она использует структурную таблицу содержания файлов, в файле с расширением .devhelp, сходным с файлами TOC для доступа к документации по GNOME 2. -На вкладке настройки Коллекция документации DevHelp можно выбрать, какие файлы DevHelp будут доступны. +Документация DevHelp + +Документация DevHelp — другой способ доступа к структурированной информации. Она использует структурную таблицу содержания файлов, в файле с расширением .devhelp, сходным с файлами TOC для доступа к документации по GNOME 2. +На вкладке настройки Коллекция документации DevHelp можно выбрать, какие файлы DevHelp будут доступны. - Предоставление документации DevHelp + Предоставление документации DevHelp -Файлы DevHelp были доступны на сайте LiDN, но похоже, что им больше никто не занимается. Более свежую документацию DevHelp можно найти на странице DevHelp Books Download. - -При установке &tdevelop; попытается найти все файлы .devhelp в некоторых стандартных каталогах системы, например в /opt/gnome/share/. Найденные файлы не будут показываться по умолчанию, но это можно изменить, установив флажок в столбце Содержание в списке коллекций. - -Новую коллекцию можно добавить соответствующими кнопками справа от списка. В диалоге выбора расположения будут показаны только файлы *.toc. - - +Файлы DevHelp были доступны на сайте LiDN, но похоже, что им больше никто не занимается. Более свежую документацию DevHelp можно найти на странице DevHelp Books Download. + +При установке &tdevelop; попытается найти все файлы .devhelp в некоторых стандартных каталогах системы, например в /opt/gnome/share/. Найденные файлы не будут показываться по умолчанию, но это можно изменить, установив флажок в столбце Содержание в списке коллекций. + +Новую коллекцию можно добавить соответствующими кнопками справа от списка. В диалоге выбора расположения будут показаны только файлы *.toc. + + -Настройка пользовательской коллекции документации +Настройка пользовательской коллекции документации -Этот тип предназначен для документации в других форматах. Можно добавить файл документации любого формата, который можно открыть в &konqueror;. +Этот тип предназначен для документации в других форматах. Можно добавить файл документации любого формата, который можно открыть в &konqueror;. - Документация в нестандартном формате + Документация в нестандартном формате -При первом запуске &tdevelop; коллекций такого типа нет. -Добавить документацию такого типа довольно просто. Используйте кнопки справа для добавления, изменения или удаления коллекций. &tdevelop; не будет фильтровать файлы в окне выбора файла. - -Просто выберите файл для показа в панели документации &tdevelop;. Установите флажок в столбце Содержание в списке коллекций. - -Документацию такого типа невозможно проиндексировать или осуществить по ней поиск средствами &tdevelop;. Поэтому отметка флажков в столбцах Индекс и Поиск не будет иметь эффекта, как для других типов коллекций. - - - - +При первом запуске &tdevelop; коллекций такого типа нет. +Добавить документацию такого типа довольно просто. Используйте кнопки справа для добавления, изменения или удаления коллекций. &tdevelop; не будет фильтровать файлы в окне выбора файла. + +Просто выберите файл для показа в панели документации &tdevelop;. Установите флажок в столбце Содержание в списке коллекций. + +Документацию такого типа невозможно проиндексировать или осуществить по ней поиск средствами &tdevelop;. Поэтому отметка флажков в столбцах Индекс и Поиск не будет иметь эффекта, как для других типов коллекций. + + + + -Индексирование документации +Индексирование документации -(... в процессе написания ...) +(... в процессе написания ...) - Индексирование документации + Индексирование документации - + -Другие параметры настройки коллекций документации +Другие параметры настройки коллекций документации -(... в процессе написания ...) +(... в процессе написания ...) - + - + -Расширенная настройка +Расширенная настройка -(... в процессе написания ...) +(... в процессе написания ...) -Подключаемые модули +Подключаемые модули -(... в процессе написания ...) - +(... в процессе написания ...) + - + - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/survey-manual.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/survey-manual.docbook index a7811c847f8..3d9db7e1ae5 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/survey-manual.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/survey-manual.docbook @@ -1,328 +1,181 @@ -Что есть в этом руководстве +Что есть в этом руководстве -В руководстве описывается использование элементов среды &tdevelop; &kdevrelease; с точки зрения пользователя. Это не руководство по программированию, и не описание подробностей разработки. Здесь описывается лишь среда создания программ. -В руководстве затронуты следующие темы: +В руководстве описывается использование элементов среды &tdevelop; &kdevrelease; с точки зрения пользователя. Это не руководство по программированию, и не описание подробностей разработки. Здесь описывается лишь среда создания программ. +В руководстве затронуты следующие темы: -Начало работы с &tdevelop; +Начало работы с &tdevelop; -Позволит быстро освоиться с базовой функциональностью &IDE;, в том числе с основами работы с проектами. +Позволит быстро освоиться с базовой функциональностью &IDE;, в том числе с основами работы с проектами. -Обзор возможностей &tdevelop; +Обзор возможностей &tdevelop; -Знание всех элементов, встроенных в &IDE;, поможет вам повысить свою производительность. +Знание всех элементов, встроенных в &IDE;, поможет вам повысить свою производительность. -Настройка &tdevelop; +Настройка &tdevelop; -Поможет вам подстроить &IDE; под себя. +Поможет вам подстроить &IDE; под себя. -Начало работы: Мастер приложений +Начало работы: Мастер приложений -Создание нового проекта с помощью Мастера приложений. +Создание нового проекта с помощью Мастера приложений. -Средства редактирования +Средства редактирования -Всё, что вам нужно для написания исходного кода: начиная с редактора, поиска текста (как локально, так и в рамках всего проекта), и заканчивая включением новых файлов и классов в существующий проект. +Всё, что вам нужно для написания исходного кода: начиная с редактора, поиска текста (как локально, так и в рамках всего проекта), и заканчивая включением новых файлов и классов в существующий проект. -Обзор файлов +Обзор файлов -Демонстрация различных средств обзора структуры вашего проекта, упрощающих доступ к файлам, с которыми вы желаете работать. +Демонстрация различных средств обзора структуры вашего проекта, упрощающих доступ к файлам, с которыми вы желаете работать. -Обзор классов +Обзор классов -Один из самых мощных инструментов &tdevelop;, обеспечивающий навигацию по зависимостям между классами, создание новых классов и методов. +Один из самых мощных инструментов &tdevelop;, обеспечивающий навигацию по зависимостям между классами, создание новых классов и методов. -Документация +Документация -Здесь описано как получить доступ богатой встроенной документации &tdevelop;, как создать документацию для вашего проекта, чёткое и полное описание &API; (Application Progamming Interface), содержащее обзор исходных кодов вашего проекта, а также написание руководства в формате DocBook. +Здесь описано как получить доступ богатой встроенной документации &tdevelop;, как создать документацию для вашего проекта, чёткое и полное описание &API; (Application Progamming Interface), содержащее обзор исходных кодов вашего проекта, а также написание руководства в формате DocBook. -Сборка и управление проектом +Сборка и управление проектом -Описание процедур создания и управления проектом, основы autoconf и automake, как создать собственные файлы make, а также использование ключей компилятора и make для тонкой подстройки вашего приложения. +Описание процедур создания и управления проектом, основы autoconf и automake, как создать собственные файлы make, а также использование ключей компилятора и make для тонкой подстройки вашего приложения. -Расширенное использование менеджера проектов +Расширенное использование менеджера проектов -Обзор путей создания нескольких конфигураций сборки, обеспечения кросс-платформенности и создания встроенных систем с использованием библиотеки Qt/embedded. +Обзор путей создания нескольких конфигураций сборки, обеспечения кросс-платформенности и создания встроенных систем с использованием библиотеки Qt/embedded. -Интерфейс отладчика +Интерфейс отладчика -Использование интегрированного отладчика gdb, благодаря которому вы сможете локализовать ошибки в программе, не покидая &tdevelop;. +Использование интегрированного отладчика gdb, благодаря которому вы сможете локализовать ошибки в программе, не покидая &tdevelop;. + + Python — an overview of how to create Python-based applications in &tdevelop;. + + + PHP — an overview of how to create PHP-based HTML applications in &tdevelop;. + //--> -Использование CVS +Использование CVS -Применение системы, без которой не обойтись ни одному проекту, особенно с несколькими разработчиками. +Применение системы, без которой не обойтись ни одному проекту, особенно с несколькими разработчиками. -Некоторая общая информция помещена в приложение. Среди прочего, это: +Некоторая общая информция помещена в приложение. Среди прочего, это: -Установка &tdevelop; +Установка &tdevelop; -Поскольку автоматизация сборки и установки программного обеспечения под UNIX не доведена до совершенства, такая глава продолжает быть востребованной. +Поскольку автоматизация сборки и установки программного обеспечения под UNIX не доведена до совершенства, такая глава продолжает быть востребованной. -Вкратце — Советы и подсказки +Вкратце — Советы и подсказки -Краткий перечень наиболее часто используемых команд и действий, а также краткое руководство по решению общих проблем при работе в &tdevelop;. +Краткий перечень наиболее часто используемых команд и действий, а также краткое руководство по решению общих проблем при работе в &tdevelop;. -Разработка программ в &UNIX; +Разработка программ в &UNIX; -Краткий экскурс в историю разработки в &UNIX;, основные инструменты и почему вам не обойтись без &IDE;. +Краткий экскурс в историю разработки в &UNIX;, основные инструменты и почему вам не обойтись без &IDE;. -Конфигурационные файлы &tdevelop; -Обзор всех файлов, хранящих разнообразные внутренние параметры. Это может быть полезно если с инсталляцией среды случилось что-то непредвиденное. +Конфигурационные файлы &tdevelop; +Обзор всех файлов, хранящих разнообразные внутренние параметры. Это может быть полезно если с инсталляцией среды случилось что-то непредвиденное. - -Подключаемый инструментарий -Обзор компонентов, формирующих &tdevelop;, которые вы можете подстроить под свои нужды посредством загрузки необходимых из них, как для работы в &IDE;, так и в рамках конкретного проекта. + +Подключаемый инструментарий +Обзор компонентов, формирующих &tdevelop;, которые вы можете подстроить под свои нужды посредством загрузки необходимых из них, как для работы в &IDE;, так и в рамках конкретного проекта. - -KDevelop в разных режимах интерфейса интерфейса -Примеры режимов графического интерфейса. + +KDevelop в разных режимах интерфейса интерфейса +Примеры режимов графического интерфейса. - -Дополнительная информация Получение дополнительной информации, создание отчётов об ошибках и т.д. + +Дополнительная информация Получение дополнительной информации, создание отчётов об ошибках и т.д. - -История изменений -История изменений, вносимых в документ + +История изменений +История изменений, вносимых в документ - -Библиография -Библиография + +Библиография +Библиография - + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-install.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-install.docbook index 9481c7f6d0a..129743fc9e1 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-install.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-install.docbook @@ -2,981 +2,396 @@ - BerndPol - Anne-MarieMahfouf + BerndPol + Anne-MarieMahfouf -Установка &tdevelop; +Установка &tdevelop; - установка - -В этой главе описаны все этапы сборки и установки &tdevelop;: - Раздел Как получить &tdevelop; содержит информацию по загрузке последней версии &tdevelop; в виде исходного кода из репозитория SVN. - Раздел Требования &tdevelop; содержит список программ и библиотек, необходимых для сборки &tdevelop;. - Раздел Сборка и установка &tdevelop; проведёт вас через все этапы сборки и установки &tdevelop;. - Раздел Как получить документацию по &API; рассказывает что такое API и как вам получить удобный инструмент для навигации по исходникам &tdevelop;. + установка + +В этой главе описаны все этапы сборки и установки &tdevelop;: + Раздел Как получить &tdevelop; содержит информацию по загрузке последней версии &tdevelop; в виде исходного кода из репозитория SVN. + Раздел Требования &tdevelop; содержит список программ и библиотек, необходимых для сборки &tdevelop;. + Раздел Сборка и установка &tdevelop; проведёт вас через все этапы сборки и установки &tdevelop;. + Раздел Как получить документацию по &API; рассказывает что такое API и как вам получить удобный инструмент для навигации по исходникам &tdevelop;. -Как получить &tdevelop; +Как получить &tdevelop; - получение &tdevelop; + получение &tdevelop; - &tdevelop; - получение - -&tdevelop; доступен в собранном виде во многих дистрибутивах &Linux;, таких, как SuSE, RedHat и других, чаще всего в виде пакета RPM, для упрощения процесса установки. Для установки из собранного пакета обратитесь к документации по вашему дистрибутиву. -Также вы можете загрузить исходный код, собрать и установить &tdevelop; самостоятельно. Исходный код среды разработки доступен на http://www.kdevelop.org и ftp-сервер &kde;. + &tdevelop; + получение + +&tdevelop; доступен в собранном виде во многих дистрибутивах &Linux;, таких, как SuSE, RedHat и других, чаще всего в виде пакета RPM, для упрощения процесса установки. Для установки из собранного пакета обратитесь к документации по вашему дистрибутиву. +Также вы можете загрузить исходный код, собрать и установить &tdevelop; самостоятельно. Исходный код среды разработки доступен на http://www.kdevelop.org и ftp-сервер &kde;. -Получение ежедневных снимков &tdevelop; из SVN +Получение ежедневных снимков &tdevelop; из SVN - svn - -Если вы хотите быть в курсе последних разработок, то доступен анонимный снимок репозитория SVN. -Имя модуля tdevelop в репозитории svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop. + svn + +Если вы хотите быть в курсе последних разработок, то доступен анонимный снимок репозитория SVN. +Имя модуля tdevelop в репозитории svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop. -Скачивание рабочей копии +Скачивание рабочей копии - checkout + checkout - &tdevelop; - svn - checkout - -Для получения версии &tdevelop;, загрузите его с анонимного репозитория SVN. Эта операция называется скачивание рабочей копии (checkout). - -Далее подразумевается, что исходный код &tdevelop; расположен в каталоге ~/kde3src. - - - # Создаём конечный каталог, если необходимо: - ~> mkdir kde3src - ~> cd kde3src - ~/kde3src> svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop - ~/kde3src> cd tdevelop - - -После полной загрузки рабочей копии &tdevelop; вы можете постоянно иметь самую последнюю версию путём обновления, что описано в следующем разделе. - -Пожалуйста, не загружайте каждый раз все файлы заново! Используйте команду svn update. - -Теперь вы можете собрать &tdevelop;, как показано в разделе Сборка и установка &tdevelop;. - - + &tdevelop; + svn + checkout + +Для получения версии &tdevelop;, загрузите его с анонимного репозитория SVN. Эта операция называется скачивание рабочей копии (checkout). + +Далее подразумевается, что исходный код &tdevelop; расположен в каталоге ~/kde3src. + + + # Создаём конечный каталог, если необходимо: + ~> mkdir kde3src + ~> cd kde3src + ~/kde3src> svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop + ~/kde3src> cd tdevelop + + +После полной загрузки рабочей копии &tdevelop; вы можете постоянно иметь самую последнюю версию путём обновления, что описано в следующем разделе. + +Пожалуйста, не загружайте каждый раз все файлы заново! Используйте команду svn update. + +Теперь вы можете собрать &tdevelop;, как показано в разделе Сборка и установка &tdevelop;. + + -Поддержка локальной рабочей копии в актуальном состоянии +Поддержка локальной рабочей копии в актуальном состоянии - update + update - &tdevelop; - svn - update - -После загрузки (и сборки) &tdevelop; из SVN можно поддерживать вашу рабочую копию исходного кода в актуальном состоянии, чтобы получать все исправления. Для этого (опять же таки предполагается, что копия исходного кода &tdevelop; расположена в каталоге kde3src). -Обратите внимание на использование команды up (update, обновить) вместо co (checkout). - - - ~> cd kde3src - ~/kde3src> cd tdevelop - ~/kde3src> svn up - - -Следите за сообщениями svn в процессе обновления, так как от этого зависят конкретные шаги сборки. - -После обновления &tdevelop;, приложение нужно собрать как описано в главе Нюансы сборки из SVN. - - - - - + &tdevelop; + svn + update + +После загрузки (и сборки) &tdevelop; из SVN можно поддерживать вашу рабочую копию исходного кода в актуальном состоянии, чтобы получать все исправления. Для этого (опять же таки предполагается, что копия исходного кода &tdevelop; расположена в каталоге kde3src). +Обратите внимание на использование команды up (update, обновить) вместо co (checkout). + + + ~> cd kde3src + ~/kde3src> cd tdevelop + ~/kde3src> svn up + + +Следите за сообщениями svn в процессе обновления, так как от этого зависят конкретные шаги сборки. + +После обновления &tdevelop;, приложение нужно собрать как описано в главе Нюансы сборки из SVN. + + + + + -Требования +Требования - требования + требования - &tdevelop; - требования + &tdevelop; + требования - GNU - требования + GNU + требования -Для успешной сборки и последующего использования &tdevelop;, необходимо установить следующие программы и библиотеки. Обычно они поставляются с дистрибутивами, а значит установить их можно просто. +Для успешной сборки и последующего использования &tdevelop;, необходимо установить следующие программы и библиотеки. Обычно они поставляются с дистрибутивами, а значит установить их можно просто. -Требуется: +Требуется: - gcc/g++ ≥ 2.95.3 (или аналог) - gcc - требования + gcc/g++ ≥ 2.95.3 (или аналог) + gcc + требования - g++ - требования + g++ + требования - Официальный сайт: gcc.gnu.org + Официальный сайт: gcc.gnu.org - &GNU; make (или аналог) - make - требования + &GNU; make (или аналог) + make + требования - Официальный сайт: www.gnu.org/software/make + Официальный сайт: www.gnu.org/software/make - &perl; 5.004 (или выше) - Perl - требования + &perl; 5.004 (или выше) + Perl + требования - Официальный сайт: www.perl.com + Официальный сайт: www.perl.com - autoconf ≥ 2.52 (или выше) - autoconf - требования + autoconf ≥ 2.52 (или выше) + autoconf + требования - Официальный сайт: www.gnu.org/software/autoconf + Официальный сайт: www.gnu.org/software/autoconf - automake ≥ 1.6 (или выше) - automake - требования + automake ≥ 1.6 (или выше) + automake + требования - Официальный сайт: www.gnu.org/software/automake + Официальный сайт: www.gnu.org/software/automake - flex 2.5.4 (или выше) - flex - требования + flex 2.5.4 (или выше) + flex + требования - Официальный сайт: www.gnu.org/software/flex + Официальный сайт: www.gnu.org/software/flex - &Qt; ≥ 3.0.3 (или выше) - Qt - требования + &Qt; ≥ 3.0.3 (или выше) + Qt + требования - Официальный сайт: www.trolltech.com/products/qt + Официальный сайт: www.trolltech.com/products/qt - KDE ≥ 3.0.2 (или выше) - KDE - требования + KDE ≥ 3.0.2 (или выше) + KDE + требования - Официальный сайт: www.kde.org + Официальный сайт: www.kde.org -Необязательно: - Средство навигации по исходному коду ctags, с http://ctags.sourceforge.net, позволяющее быстрое перейти к объявлению или определению несколькими щелчками мыши на имени переменной в редакторе. ctags - - dot, генератор изображений, с http:/www.graphviz.org. Он нужен для &doxygen;, чтобы наглядно показать иерархию классов. dot - - Средство документирования &doxygen;, с http://www.doxygen.org, с помощью которого вы сможете сгенерировать лаконичную и гибкую документацию API вашего проекта. doxygen - - valgrind с http://developer.kde.org/~sewardj/ поможет найти утечки памяти в вашем приложении. valgrind - - svn с http://subversion.tigris.org/ если вы хотите использовать систему управления версиями SVN. - svn - требования - - Любой другой компилятор и/или инструмент, если вы разрабатываете программное обеспечение на языке или платформе, отличных от C++/&kde;. +Необязательно: + Средство навигации по исходному коду ctags, с http://ctags.sourceforge.net, позволяющее быстрое перейти к объявлению или определению несколькими щелчками мыши на имени переменной в редакторе. ctags + + dot, генератор изображений, с http:/www.graphviz.org. Он нужен для &doxygen;, чтобы наглядно показать иерархию классов. dot + + Средство документирования &doxygen;, с http://www.doxygen.org, с помощью которого вы сможете сгенерировать лаконичную и гибкую документацию API вашего проекта. doxygen + + valgrind с http://developer.kde.org/~sewardj/ поможет найти утечки памяти в вашем приложении. valgrind + + svn с http://subversion.tigris.org/ если вы хотите использовать систему управления версиями SVN. + svn + требования + + Любой другой компилятор и/или инструмент, если вы разрабатываете программное обеспечение на языке или платформе, отличных от C++/&kde;. - Вы можете обойти требования &autoconf; ≥ 2.52 и &automake; ≥ 1.6. Просто удалите подкаталог admin в установочном каталоге &tdevelop; и введите - autoconf - обхождение требования версий + Вы можете обойти требования &autoconf; ≥ 2.52 и &automake; ≥ 1.6. Просто удалите подкаталог admin в установочном каталоге &tdevelop; и введите + autoconf + обхождение требования версий - automake - обхождение требования версий + automake + обхождение требования версий - требование версии - обхождение требования autoconf/automake + требование версии + обхождение требования autoconf/automake - - (каталог-tdevelop)> ln -s $TDEDIR/share/apps/tdelibs/admin admin - - в консоли. При этом &tdevelop; будет использовать стандартные параметры в каталоге &kde; admin . + + (каталог-tdevelop)> ln -s $TDEDIR/share/apps/tdelibs/admin admin + + в консоли. При этом &tdevelop; будет использовать стандартные параметры в каталоге &kde; admin . - Убедитесь, что вы не смешиваете разные версии &Qt;. Всегда собирайте &tdevelop; с той версией &Qt;, с которой были собраны библиотеки &kde;. Иначе вы можете получить очень странное поведение программы. + Убедитесь, что вы не смешиваете разные версии &Qt;. Всегда собирайте &tdevelop; с той версией &Qt;, с которой были собраны библиотеки &kde;. Иначе вы можете получить очень странное поведение программы. - + -Сборка и установка &tdevelop; +Сборка и установка &tdevelop; - &tdevelop; - сборка + &tdevelop; + сборка - &tdevelop; - установка - -После удовлетворения всех требований, вы можете приступить к сборки и установке &tdevelop;. В приложении описаны необходимые для этого действия. + &tdevelop; + установка + +После удовлетворения всех требований, вы можете приступить к сборки и установке &tdevelop;. В приложении описаны необходимые для этого действия. - Раздел Подготовительные шаги содержит инструкции по установке окружения. - Раздел Сборка &tdevelop; расскажет как получить исходный код &tdevelop; из svn, подготовить его, скомпилировать и установить. - Раздел Примечания по ключам configure покажет как собрать &tdevelop; не в каталог &kde; по умолчанию. + Раздел Подготовительные шаги содержит инструкции по установке окружения. + Раздел Сборка &tdevelop; расскажет как получить исходный код &tdevelop; из svn, подготовить его, скомпилировать и установить. + Раздел Примечания по ключам configure покажет как собрать &tdevelop; не в каталог &kde; по умолчанию. -Подготовительные шаги +Подготовительные шаги - подготовка - Установка &tdevelop; + подготовка + Установка &tdevelop; - TDEDIR + TDEDIR - QTDIR + QTDIR - LD_LIBRARY_PATH + LD_LIBRARY_PATH - LIBRARY_PATH + LIBRARY_PATH - PATH - -Перед началом сборки убедитесь, что все библиотеки и инструменты доступны сборочной системе make. Для этого нужно правильно выставить переменные окружения. Шаги, которые следует выполнить при этом, зависят от используемой оболочки («shell»). - -Чтобы не вводить все необходимые операторы по определению переменных окружения каждый раз, вы можете записать их в файл .bashrc или .cshrc. Таким образом, переменные будут иметь нужное значение каждый раз при входе в систему. + PATH + +Перед началом сборки убедитесь, что все библиотеки и инструменты доступны сборочной системе make. Для этого нужно правильно выставить переменные окружения. Шаги, которые следует выполнить при этом, зависят от используемой оболочки («shell»). + +Чтобы не вводить все необходимые операторы по определению переменных окружения каждый раз, вы можете записать их в файл .bashrc или .cshrc. Таким образом, переменные будут иметь нужное значение каждый раз при входе в систему. -Настройка окружения в оболочке bash - -Если вы используете bash, добавьте в его файл конфигурации такие строки: - - - export TDEDIR=(путь к KDE) - export QTDIR=(путь к библиотеке Qt) - export LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH - export LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH - export PATH=$QTDIR/bin:$TDEDIR/bin:$PATH - - - - +Настройка окружения в оболочке bash + +Если вы используете bash, добавьте в его файл конфигурации такие строки: + + + export TDEDIR=(путь к KDE) + export QTDIR=(путь к библиотеке Qt) + export LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH + export LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH + export PATH=$QTDIR/bin:$TDEDIR/bin:$PATH + + + + -Настройка окружения для оболочки tcsh +Настройка окружения для оболочки tcsh -Если вы используете tcsh, добавьте в его файл конфигурации такие строки: +Если вы используете tcsh, добавьте в его файл конфигурации такие строки: - - setenv TDEDIR (путь к KDE) - setenv QTDIR (путь к библиотеке Qt) - setenv LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH - setenv LIBRARY_PATH $QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH - setenv PATH $QTDIR/bin:$TDEDIR/bin:$PATH - + + setenv TDEDIR (путь к KDE) + setenv QTDIR (путь к библиотеке Qt) + setenv LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH + setenv LIBRARY_PATH $QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH + setenv PATH $QTDIR/bin:$TDEDIR/bin:$PATH + - + - + -Сборка &tdevelop; +Сборка &tdevelop; - make - Установка &tdevelop; + make + Установка &tdevelop; - сборка, компиляция - &tdevelop; - -Далее подразумевается, что исходный код &tdevelop; расположен в каталоге ~/kde3src/tdevelop. + сборка, компиляция + &tdevelop; + +Далее подразумевается, что исходный код &tdevelop; расположен в каталоге ~/kde3src/tdevelop. -Особенности сборки из SVN +Особенности сборки из SVN -Если вы собираете &tdevelop; из SVN, начальные шаги сборки зависят от того, загрузили ли вы рабочую копию (checkout) или обновили ранее загруженную копию (update). +Если вы собираете &tdevelop; из SVN, начальные шаги сборки зависят от того, загрузили ли вы рабочую копию (checkout) или обновили ранее загруженную копию (update). -После svn checkout +После svn checkout -Вы должны инициализировать сборочную систему после скачивания рабочей копии. Тоже самое необходимо сделать если вы хотите начать сборку с нуля. Наберите: - -~/kde3src/tdevelop> make -f admin/Makefile.common svn-clean -и выполните все следующие шаги. -Для восстановления повреждённых и отсутствующих файлов, возможно, потребуется запустить svn cleanup. -Выполните команду svn-clean чтобы удалить все файлы, не имеющие соответствия в репозитории SVN. Убедитесь что вы сделали резервные копии всей ценной информации перед выполнением этой команды. +Вы должны инициализировать сборочную систему после скачивания рабочей копии. Тоже самое необходимо сделать если вы хотите начать сборку с нуля. Наберите: + +~/kde3src/tdevelop> make -f admin/Makefile.common svn-clean +и выполните все следующие шаги. +Для восстановления повреждённых и отсутствующих файлов, возможно, потребуется запустить svn cleanup. +Выполните команду svn-clean чтобы удалить все файлы, не имеющие соответствия в репозитории SVN. Убедитесь что вы сделали резервные копии всей ценной информации перед выполнением этой команды. -После обновления SVN +После обновления SVN -Следующий шаг зависит от вывода команды обновления svn update. Если в нём было U или P в начале строки — это означает изменение файла: +Следующий шаг зависит от вывода команды обновления svn update. Если в нём было U или P в начале строки — это означает изменение файла: -U /some_directory_path/Makefile.am +U /some_directory_path/Makefile.am -или, после загрузки рабочей копии (checkout), введите: -~/kde3src/tdevelop> make -f Makefile.svn -перед выполнением всех следующих шагов. +или, после загрузки рабочей копии (checkout), введите: +~/kde3src/tdevelop> make -f Makefile.svn +перед выполнением всех следующих шагов. - + -Команды сборки <command ->make</command -> - -Теперь вы должны решить, какую систему &tdevelop; вы хотите использовать. На следующем шаге генерируются файлы Makefile, который нужны для сборки командой make. - -Вы можете не указывать параметр при запуске configure, в этом случае &tdevelop; будет установлен в каталог &kde; по умолчанию. Подробно это изложено в разделе Примечания по ключам configure. +Команды сборки <command>make</command> + +Теперь вы должны решить, какую систему &tdevelop; вы хотите использовать. На следующем шаге генерируются файлы Makefile, который нужны для сборки командой make. + +Вы можете не указывать параметр при запуске configure, в этом случае &tdevelop; будет установлен в каталог &kde; по умолчанию. Подробно это изложено в разделе Примечания по ключам configure. -Версия с отладочной информацией +Версия с отладочной информацией -Если вы хотите следить за тем, что &tdevelop; делает во время выполнения, выберите сборку версии с отладочной информацией. Просто запустите configure следующим образом: - -~/kde3src/tdevelop> ./configure --enable-debug=full --prefix=(путь-к-kde3) +Если вы хотите следить за тем, что &tdevelop; делает во время выполнения, выберите сборку версии с отладочной информацией. Просто запустите configure следующим образом: + +~/kde3src/tdevelop> ./configure --enable-debug=full --prefix=(путь-к-kde3) -Финальная версия +Финальная версия -Если вы хотите просто использовать &tdevelop; как есть (с меньшим размером и более быстрой работой), запускайте configure с параметрами по умолчанию: - -~/kde3src/tdevelop> ./configure --prefix=(путь-к-kde3) +Если вы хотите просто использовать &tdevelop; как есть (с меньшим размером и более быстрой работой), запускайте configure с параметрами по умолчанию: + +~/kde3src/tdevelop> ./configure --prefix=(путь-к-kde3) -Если вы хотите собрать также документацию по API для &tdevelop;, вам нужно указать соответствующий параметр в команде запуска configure: - - ~/kde3src/tdevelop> ./configure --(такие-же-ключи) \ --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs - +Если вы хотите собрать также документацию по API для &tdevelop;, вам нужно указать соответствующий параметр в команде запуска configure: + + ~/kde3src/tdevelop> ./configure --(такие-же-ключи) \ --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs + -Сборка посредством make и установка +Сборка посредством make и установка -Скрипт configure проверит систему и создаст файл Makefile, который будет использовать команда make. Команда make будет использовать основной файл Makefile по умолчанию. - -~/kde3src/tdevelop> make -Для установки получите права суперпользователя командой: -~/kde3src/tdevelop> su -и введите пароль пользователя root. После этого установите &tdevelop;: -~/kde3src/tdevelop> make install -Если &tdevelop; установлен в каталог &kde; по умолчанию, вы можете сразу запустить IDE. Иначе потребуются некоторые дополнительные шаги. Подробно об этом рассказано в разделе Нестандартный каталог установки. +Скрипт configure проверит систему и создаст файл Makefile, который будет использовать команда make. Команда make будет использовать основной файл Makefile по умолчанию. + +~/kde3src/tdevelop> make +Для установки получите права суперпользователя командой: +~/kde3src/tdevelop> su +и введите пароль пользователя root. После этого установите &tdevelop;: +~/kde3src/tdevelop> make install +Если &tdevelop; установлен в каталог &kde; по умолчанию, вы можете сразу запустить IDE. Иначе потребуются некоторые дополнительные шаги. Подробно об этом рассказано в разделе Нестандартный каталог установки. - На самом деле будут установлены три программы: + На самом деле будут установлены три программы: - &tdevelop; IDE — среда разработки, в которой вы обычно работаете. - &tdevelop; Assistant — программа автономного просмотра документации, предоставляющая всю функциональность соответствующего модуля &tdevelop; IDE. - &tdevelop; Designer — расширение &Qt; Designer, добавляющее специфические для виджеты &kde; и интегрирующее его в &tdevelop; IDE. + &tdevelop; IDE — среда разработки, в которой вы обычно работаете. + &tdevelop; Assistant — программа автономного просмотра документации, предоставляющая всю функциональность соответствующего модуля &tdevelop; IDE. + &tdevelop; Designer — расширение &Qt; Designer, добавляющее специфические для виджеты &kde; и интегрирующее его в &tdevelop; IDE. @@ -984,309 +399,105 @@ - - + + -Примечания по ключам <command ->configure</command -> +Примечания по ключам <command>configure</command> -Нестандартный каталог установки +Нестандартный каталог установки - &tdevelop; - установка - нестандартный каталог + &tdevelop; + установка + нестандартный каталог - нестандартный каталог + нестандартный каталог - TDEDIRS + TDEDIRS - tdebuildsycoca - -По умолчанию IDE устанавливается в каталог &kde;. Это необходимо &tdevelop; для прямого доступа к некоторым утилитам и модулям, расположенным в этом каталоге. Чтобы использовать другой каталог для установки, запустите configure с параметром : -~/kde3src/tdevelop> ./configure --prefix=(путь-к-kde3) -И всё же устанавливать программу в другой каталог не рекомендуется. Конечно, вы можете сделать это, но тогда вы получите очень ограниченную функциональность. -Перед запуском &tdevelop; выполните следующие команды из командной строки: - -Обратите внимание на множественную форму: TDEDIRS, а не TDEDIR - - - ~> export TDEDIRS=/usr/local/kde:/opt/kde3 - ~> tdebuildsycoca - Теперь запустим &tdevelop;: - ~> tdevelop - - - - Переменная окружения TDEDIRS должна содержать список активных каталогов &kde; вашей системы. Обычно это - /usr/local/kde:/opt/kde3 - однако в вашей системе это могут быть другие каталоги. - Каталог /usr/local/kde, например, может содержать неполную версию &kde;, которую вы собрали для отладки, а /opt/kde3 — версию &kde; из вашего дистрибутива. - - -в оболочке tcsh определение переменных окружения происходит таким образом: -~> setenv TDEDIRS /usr/local/kde:/opt/kde3 -Команда tdebuildsycoca (build system control cache — кэш системных параметров) выполняет поиск библиотек и записывает их размещение и версию в кэш, чтобы &tdevelop; смог их найти. Это займёт некоторое время, и это нужно выполнять каждый раз перед запуском &tdevelop; из оболочки, если вы установили программу в нестандартный каталог. Конечно, из этих команд можно составить сценарий и запускать только его. -Кроме того можно дополнить файлы .bashrc или .cshrc, но это не желательно, так как команда будут выполняться при каждом входе в консоль. - -Команду tdebuildsycoca не нужно выполнять с правами суперпользователя. И вообще, заниматься разработкой под root не очень хорошая идея! - + tdebuildsycoca + +По умолчанию IDE устанавливается в каталог &kde;. Это необходимо &tdevelop; для прямого доступа к некоторым утилитам и модулям, расположенным в этом каталоге. Чтобы использовать другой каталог для установки, запустите configure с параметром : +~/kde3src/tdevelop> ./configure --prefix=(путь-к-kde3) +И всё же устанавливать программу в другой каталог не рекомендуется. Конечно, вы можете сделать это, но тогда вы получите очень ограниченную функциональность. +Перед запуском &tdevelop; выполните следующие команды из командной строки: + +Обратите внимание на множественную форму: TDEDIRS, а не TDEDIR + + + ~> export TDEDIRS=/usr/local/kde:/opt/kde3 + ~> tdebuildsycoca + Теперь запустим &tdevelop;: + ~> tdevelop + + + + Переменная окружения TDEDIRS должна содержать список активных каталогов &kde; вашей системы. Обычно это + /usr/local/kde:/opt/kde3 + однако в вашей системе это могут быть другие каталоги. + Каталог /usr/local/kde, например, может содержать неполную версию &kde;, которую вы собрали для отладки, а /opt/kde3 — версию &kde; из вашего дистрибутива. + + +в оболочке tcsh определение переменных окружения происходит таким образом: +~> setenv TDEDIRS /usr/local/kde:/opt/kde3 +Команда tdebuildsycoca (build system control cache — кэш системных параметров) выполняет поиск библиотек и записывает их размещение и версию в кэш, чтобы &tdevelop; смог их найти. Это займёт некоторое время, и это нужно выполнять каждый раз перед запуском &tdevelop; из оболочки, если вы установили программу в нестандартный каталог. Конечно, из этих команд можно составить сценарий и запускать только его. +Кроме того можно дополнить файлы .bashrc или .cshrc, но это не желательно, так как команда будут выполняться при каждом входе в консоль. + +Команду tdebuildsycoca не нужно выполнять с правами суперпользователя. И вообще, заниматься разработкой под root не очень хорошая идея! + - + - + -Как получить документацию по &API; +Как получить документацию по &API; - API - &tdevelop; + API + &tdevelop; - &tdevelop; - API + &tdevelop; + API - сборка, компиляция - &tdevelop; - API + сборка, компиляция + &tdevelop; + API - configure - API &tdevelop; - -API — сокращение от Application Program Interface (программный интерфейс приложения). Это набор описаний, по которым приложение обращается к операционной системе и другим службам. API приложения &kde; или &Qt; — описание интерфейсов классов и методов, которые используются для навигации по исходному коду приложения. -Последняя версия документации по API находится на сайте KDevelop. Она обновляется каждые 24 часа. -Чтобы собрать документацию по API из исходного кода &tdevelop; самостоятельно, нужно указать где искать API KDELIBS, добавив параметр при запуске configure: - - - ~/kde3src/tdevelop> ./configure --(прочие параметры) \ + configure + API &tdevelop; + +API — сокращение от Application Program Interface (программный интерфейс приложения). Это набор описаний, по которым приложение обращается к операционной системе и другим службам. API приложения &kde; или &Qt; — описание интерфейсов классов и методов, которые используются для навигации по исходному коду приложения. +Последняя версия документации по API находится на сайте KDevelop. Она обновляется каждые 24 часа. +Чтобы собрать документацию по API из исходного кода &tdevelop; самостоятельно, нужно указать где искать API KDELIBS, добавив параметр при запуске configure: + + + ~/kde3src/tdevelop> ./configure --(прочие параметры) \ - --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs + --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs - - -(make заменит глобальную переменную $TDEDIR на каталог, где установлен &kde;). Затем запустите make как обычно. После сборки &tdevelop; можно также собрать документацию по API. Для этого выполните -~/kde3src/tdevelop> make apidocs - -Это создаст файл Doxyfile в основном каталоге исходного кода &tdevelop;, который передаётся на обработку программе Doxygen, в результате чего будет создано большое количество файлов .html в течение некоторого времени (до часа на медленных машинах). После окончания процесса сборки нужно установить документацию. Получите права суперпользователя - -~/kde3src/tdevelop> su - -и введите пароль пользователя root, затем установите файлы документации по API: - -~/kde3src/tdevelop> make install-apidox - -После этого make выведет имя каталога, где установлена документация по API. - -Возможно, вы увидите большое количество предупреждений или сообщений об ошибках в процессе сборки документации по API программой Doxygen. Они представляют интерес только для разработчиков &tdevelop;. Если всё пройдёт нормально, файлы .html будут доступными для чтения. - - - - + + +(make заменит глобальную переменную $TDEDIR на каталог, где установлен &kde;). Затем запустите make как обычно. После сборки &tdevelop; можно также собрать документацию по API. Для этого выполните +~/kde3src/tdevelop> make apidocs + +Это создаст файл Doxyfile в основном каталоге исходного кода &tdevelop;, который передаётся на обработку программе Doxygen, в результате чего будет создано большое количество файлов .html в течение некоторого времени (до часа на медленных машинах). После окончания процесса сборки нужно установить документацию. Получите права суперпользователя + +~/kde3src/tdevelop> su + +и введите пароль пользователя root, затем установите файлы документации по API: + +~/kde3src/tdevelop> make install-apidox + +После этого make выведет имя каталога, где установлена документация по API. + +Возможно, вы увидите большое количество предупреждений или сообщений об ошибках в процессе сборки документации по API программой Doxygen. Они представляют интерес только для разработчиков &tdevelop;. Если всё пройдёт нормально, файлы .html будут доступными для чтения. + + + + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-scripting.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-scripting.docbook index 20e45144762..90493572c02 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-scripting.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-scripting.docbook @@ -2,71 +2,45 @@ - IanGeiser + IanGeiser -Поддержка сценариев +Поддержка сценариев -Выполнение сценариев -Для получения доступа к сценариям воспользуйтесь меню СервисСценарии. Если его нет, значит в KDevelop не установленных сценариев. +Выполнение сценариев +Для получения доступа к сценариям воспользуйтесь меню СервисСценарии. Если его нет, значит в KDevelop не установленных сценариев. -Добавление сценариев -После добавления поддержки KScript в ваше главное приложение, добавление в него сценариев становится лёгкой задачей. Сценарии состоят из двух частей - файла .desktop, содержащего метаданные (текст пункта меню и интерпретатор), и собственно сценария. Этот подход был использован из соображений безопасности и простоты использования. -Этот пример демонстрирует основные части, которые нужны KScript. Первый элемент, "Name", определяет имя сценария, показываемое пользователи, а текст элемента "Comment" будет показан во всплывающей подсказке. Наиболее важным является "Type", он определяет интерпретатор, который будет использован для сценария. На текущий момент есть два возможных варианта - "ShellScript/bash" и "JavaScript/kjs". нашем примере выбран первый. Сценарию передаётся два аргумента . Первый - DCOP ID (дескриптор) главного приложения. +Добавление сценариев +После добавления поддержки KScript в ваше главное приложение, добавление в него сценариев становится лёгкой задачей. Сценарии состоят из двух частей - файла .desktop, содержащего метаданные (текст пункта меню и интерпретатор), и собственно сценария. Этот подход был использован из соображений безопасности и простоты использования. +Этот пример демонстрирует основные части, которые нужны KScript. Первый элемент, "Name", определяет имя сценария, показываемое пользователи, а текст элемента "Comment" будет показан во всплывающей подсказке. Наиболее важным является "Type", он определяет интерпретатор, который будет использован для сценария. На текущий момент есть два возможных варианта - "ShellScript/bash" и "JavaScript/kjs". нашем примере выбран первый. Сценарию передаётся два аргумента . Первый - DCOP ID (дескриптор) главного приложения. -Приведенный сценарий устанавливает текст первого документа в вывод команды "ls -l" +Приведенный сценарий устанавливает текст первого документа в вывод команды "ls -l" -Самое полезная программа для разработки таких сценариев - KDCOP. +Самое полезная программа для разработки таких сценариев - KDCOP.
- Работа с DCOP-интерфейсами в &tdevelop; с помощью KDCOP + Работа с DCOP-интерфейсами в &tdevelop; с помощью KDCOP - +
-KDCOP позволяет просматривать и отлаживать интерфейсы приложений. На текущий момент KDCOP поддерживает KJSEmbed, Python и оболочки UNIX для работы с DCOP. +KDCOP позволяет просматривать и отлаживать интерфейсы приложений. На текущий момент KDCOP поддерживает KJSEmbed, Python и оболочки UNIX для работы с DCOP. -Когда сценарий написан, осталось его установить. Разработчики основного приложения должны позаботиться об этой процедуре, или хотя бы задокументировать пути, в которых будут искаться сценарии. В примере выше, сценарий Kate расположен в "$TDEDIRS/share/apps/kate/scripts". +Когда сценарий написан, осталось его установить. Разработчики основного приложения должны позаботиться об этой процедуре, или хотя бы задокументировать пути, в которых будут искаться сценарии. В примере выше, сценарий Kate расположен в "$TDEDIRS/share/apps/kate/scripts".
- Сценарии &tdevelop; в файловой системе + Сценарии &tdevelop; в файловой системе - +
-Файл .desktop должен быть в одной папке со сценарием. Разработчикам сценариев также рекомендуется хранить вспомогательные файлы, такие как файлы пользовательского интерфейса, файлы данных, в той же папке. Также заметим, что основное приложение блокируется на время выполнения сценария. но это будет изменено в KDE 4. +Файл .desktop должен быть в одной папке со сценарием. Разработчикам сценариев также рекомендуется хранить вспомогательные файлы, такие как файлы пользовательского интерфейса, файлы данных, в той же папке. Также заметим, что основное приложение блокируется на время выполнения сценария. но это будет изменено в KDE 4.
diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-survey.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-survey.docbook index 2b54a364e0c..e5cd99404c6 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-survey.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/tdevelop-survey.docbook @@ -2,217 +2,94 @@ - BerndPol + BerndPol -Обзор возможностей &tdevelop; +Обзор возможностей &tdevelop; - &tdevelop; - обзор + &tdevelop; + обзор - общий обзор + общий обзор - обзор - -&tdevelop; объединяет большое количество инструментов, скриптов и шаблонов в общий интерфейс. Он состоит из - нескольких режимов интерфейса, содержащих предустановки рабочей области, - мастера проектов, упрощающего создание нового проекта, - нескольких систем управления проектом, упрощающих сборки и управление вашим проектом, - некоторых средств редактирования для простой и наглядной работы с исходными кодами программы - различных диспетчеров файлов, представляющих вашу файловую систему в разных видах, - различных панелей просмотра классов, которые упрощают работу с классами и отношениями между ними в объектно-ориентированном программировании, - отладочного интерфейса для поиска и устранения ошибок прямо из &tdevelop;, - нескольких модулей, которые могут быть загружены в любое время по запросу. - набора других вспомогательных инструментов для диагностики, документировании и оптимизации. + обзор + +&tdevelop; объединяет большое количество инструментов, скриптов и шаблонов в общий интерфейс. Он состоит из + нескольких режимов интерфейса, содержащих предустановки рабочей области, + мастера проектов, упрощающего создание нового проекта, + нескольких систем управления проектом, упрощающих сборки и управление вашим проектом, + некоторых средств редактирования для простой и наглядной работы с исходными кодами программы + различных диспетчеров файлов, представляющих вашу файловую систему в разных видах, + различных панелей просмотра классов, которые упрощают работу с классами и отношениями между ними в объектно-ориентированном программировании, + отладочного интерфейса для поиска и устранения ошибок прямо из &tdevelop;, + нескольких модулей, которые могут быть загружены в любое время по запросу. + набора других вспомогательных инструментов для диагностики, документировании и оптимизации. - На самом деле, &tdevelop; состоит из трёх программ: + На самом деле, &tdevelop; состоит из трёх программ: - &tdevelop; IDE — среды разработки, в которой вы обычно работаете. - &tdevelop; Assistant — программы просмотра документации, предоставляющий всю функциональность соответствующего модуля &tdevelop; IDE. - &tdevelop; Designer — расширения &Qt; Designer, добавляющего специфические виджеты &kde; и интегрирующее его в &tdevelop; IDE. + &tdevelop; IDE — среды разработки, в которой вы обычно работаете. + &tdevelop; Assistant — программы просмотра документации, предоставляющий всю функциональность соответствующего модуля &tdevelop; IDE. + &tdevelop; Designer — расширения &Qt; Designer, добавляющего специфические виджеты &kde; и интегрирующее его в &tdevelop; IDE. -Режимы интерфейса +Режимы интерфейса - &tdevelop; - режимы интерфейса + &tdevelop; + режимы интерфейса - пользовательский интерфейс - Режимы &tdevelop; + пользовательский интерфейс + Режимы &tdevelop; - Режимы интерфейса + Режимы интерфейса - Многодокументный + Многодокументный - Вкладки + Вкладки - Отдельные окна + Отдельные окна - IDEAl - -В &tdevelop; есть четыре различных режима интерфейса (нажмите на названии чтобы просмотреть изображение с его примером): - IDEAl - Это новый интерфейс, оптимизирующий организацию рабочей области и обеспечивающий интуитивный доступ к инструментам. + IDEAl + +В &tdevelop; есть четыре различных режима интерфейса (нажмите на названии чтобы просмотреть изображение с его примером): + IDEAl + Это новый интерфейс, оптимизирующий организацию рабочей области и обеспечивающий интуитивный доступ к инструментам. - Все инструменты размещены по краям рабочей области в панелях с несколькими вкладками и сгруппированы по назначению. - Окна просмотра документации и редактирования файлов будут собраны в одно окно со вкладками. + Все инструменты размещены по краям рабочей области в панелях с несколькими вкладками и сгруппированы по назначению. + Окна просмотра документации и редактирования файлов будут собраны в одно окно со вкладками. - Дочерние окна + Дочерние окна - Все средства просмотра размещены как дочерние окна непосредственно в главном окне. - Окна просмотра и редактирования будут выглядеть как обычные отдельные окна внутри рабочей области. + Все средства просмотра размещены как дочерние окна непосредственно в главном окне. + Окна просмотра и редактирования будут выглядеть как обычные отдельные окна внутри рабочей области. - Вкладки + Вкладки - Все средства просмотра размещены как дочерние окна непосредственно в главном окне. - Окна просмотра и редактирования будут совмещены в одно окно с соответствующими вкладками. + Все средства просмотра размещены как дочерние окна непосредственно в главном окне. + Окна просмотра и редактирования будут совмещены в одно окно с соответствующими вкладками. - Отдельные окна + Отдельные окна - Окна инструментов, просмотра и редактирования будут выглядеть как обычные отдельные окна на рабочем столе. - Главный элемент управления будет содержать только меню, панели инструментов и строку состояния. + Окна инструментов, просмотра и редактирования будут выглядеть как обычные отдельные окна на рабочем столе. + Главный элемент управления будет содержать только меню, панели инструментов и строку состояния. @@ -220,557 +97,259 @@ -Как переключить интерфейс +Как переключить интерфейс - пользовательский интерфейс - переключение интерфейсов + пользовательский интерфейс + переключение интерфейсов - переключение пользовательских интерфейсов - -Чтобы переключить режим интерфейса, выберите Настройка Настроить KDevelop... . В появившемся диалоге Настройка KDevelop выберите раздел Интерфейс пользователя в поле слева. + переключение пользовательских интерфейсов + +Чтобы переключить режим интерфейса, выберите Настройка Настроить KDevelop... . В появившемся диалоге Настройка KDevelop выберите раздел Интерфейс пользователя в поле слева. - Выбор вида интерфейса + Выбор вида интерфейса -Старые версии &tdevelop; предлагают выбор вида интерфейса только в виде отдельных окон. +Старые версии &tdevelop; предлагают выбор вида интерфейса только в виде отдельных окон. -В секции Текущий вид интерфейса выберите тип, в котором вы хотите работать. -В зависимости от режима интерфейса, выбранного вами, будет доступно различное количество его параметров. Подробно об этом рассказано в разделе Выбор интерфейса. +В секции Текущий вид интерфейса выберите тип, в котором вы хотите работать. +В зависимости от режима интерфейса, выбранного вами, будет доступно различное количество его параметров. Подробно об этом рассказано в разделе Выбор интерфейса. -Не забудьте перезапустить &tdevelop; чтобы параметры вступили в силу. +Не забудьте перезапустить &tdevelop; чтобы параметры вступили в силу. - + -Как увеличить рабочее пространство +Как увеличить рабочее пространство - &tdevelop; - рабочее пространство + &tdevelop; + рабочее пространство - &tdevelop; - увеличение рабочего пространства + &tdevelop; + увеличение рабочего пространства - пользовательский интерфейс - рабочее пространство + пользовательский интерфейс + рабочее пространство - пользовательский интерфейс - меню + пользовательский интерфейс + меню - пользовательский интерфейс - полноэкранный режим + пользовательский интерфейс + полноэкранный режим - полноэкранный режим + полноэкранный режим - меню - скрыть/показать + меню + скрыть/показать - скрыть меню + скрыть меню - показать меню + показать меню -Для увеличения рабочего пространства можно перейти в полноэкранный режим, скрыть меню, и, как и в любом другом приложении KDE, панели инструментов. +Для увеличения рабочего пространства можно перейти в полноэкранный режим, скрыть меню, и, как и в любом другом приложении KDE, панели инструментов. -Полноэкранный режим +Полноэкранный режим -Для переключения в этот режим или выхода из него выберите пункт меню Вид Полноэкранный режим или нажмите Ctrl Shift F. Кроме того, значок переключения в этот режим есть на панели инструментов Вид. +Для переключения в этот режим или выхода из него выберите пункт меню Вид Полноэкранный режим или нажмите Ctrl Shift F. Кроме того, значок переключения в этот режим есть на панели инструментов Вид. -Скрытие и показ меню +Скрытие и показ меню -Для того, чтобы скрыть меню, выберите Настройка Скрыть меню , или нажмите Ctrl M. Чтобы показать меню, повторно нажмите Ctrl M , или воспользуйтесь кнопкой панели инструментов Показать меню. +Для того, чтобы скрыть меню, выберите Настройка Скрыть меню , или нажмите Ctrl M. Чтобы показать меню, повторно нажмите Ctrl M , или воспользуйтесь кнопкой панели инструментов Показать меню. - + - + -Элементы интерфейса +Элементы интерфейса -(... в процессе написания ...) +(... в процессе написания ...) -Рабочая область +Рабочая область -(... в процессе написания ...) - +(... в процессе написания ...) + -Заголовок окна &tdevelop; +Заголовок окна &tdevelop; -(... в процессе написания ...) - +(... в процессе написания ...) + -Строка состояния &tdevelop; +Строка состояния &tdevelop; -(... в процессе написания ...) - +(... в процессе написания ...) + -Меню +Меню -(... в процессе написания ...) - +(... в процессе написания ...) + -Панели инструментов +Панели инструментов -(... в процессе написания ...) - +(... в процессе написания ...) + -Панели просмотра +Панели просмотра -(... в процессе написания ...) - +(... в процессе написания ...) + -Панели вывода +Панели вывода -(... в процессе написания ...) - +(... в процессе написания ...) + - + -Системы управления проектом +Системы управления проектом - управление проектом - -Обычно проекты основываются на определённой системе управления. &tdevelop; предлагает четыре системы управления проектом, которые можно выбрать при создании проекта. - Automake использует стандартные инструменты разработки &GNU;. - QMake использует диспетчер проектов Trolltech. - ANT использует диспетчер проектов Apache ANT для &Java;. - Особый проект позволит вам создавать файлы Makefile самостоятельно. + управление проектом + +Обычно проекты основываются на определённой системе управления. &tdevelop; предлагает четыре системы управления проектом, которые можно выбрать при создании проекта. + Automake использует стандартные инструменты разработки &GNU;. + QMake использует диспетчер проектов Trolltech. + ANT использует диспетчер проектов Apache ANT для &Java;. + Особый проект позволит вам создавать файлы Makefile самостоятельно. -Automake +Automake - проекты - automake + проекты + automake - automake - проекты - -Проекты, созданные диспетчером проектов &automanag; упрощают использование стандартных инструментов разработки &GNU;. Это — - лучший способ создания файлов Makefile и - хороший и надёжный способ адаптации под разные системы с помощью создаваемого командой autoconf сценария configure. + automake + проекты + +Проекты, созданные диспетчером проектов &automanag; упрощают использование стандартных инструментов разработки &GNU;. Это — + лучший способ создания файлов Makefile и + хороший и надёжный способ адаптации под разные системы с помощью создаваемого командой autoconf сценария configure. - + -QMake +QMake - проекты - qmake + проекты + qmake - qmake - проекты - -Разработчикам, которые получают удовольствие от гибкости и удобства утилиты &Qt; qmake, &tdevelop; предлагает возможность управлять проектами, основанными на qmake (файлы *.pro) в &tdevelop;. -Более подробную информацию о диспетчере проектов QMake можно найти в Руководстве пользователя qmake, которое включено в ваш дистрибутив, или же на странице документации TrollTech. - + qmake + проекты + +Разработчикам, которые получают удовольствие от гибкости и удобства утилиты &Qt; qmake, &tdevelop; предлагает возможность управлять проектами, основанными на qmake (файлы *.pro) в &tdevelop;. +Более подробную информацию о диспетчере проектов QMake можно найти в Руководстве пользователя qmake, которое включено в ваш дистрибутив, или же на странице документации TrollTech. + -Проекты CMake +Проекты CMake - проекты - cmake + проекты + cmake - сmake - проекты - -CMake будет главной системой для &kde; 4 и &tdevelop; уже предоставляет несколько шаблонов проектов на C и C++ собирающихся посредством CMake. Для сборки потребуется только, чтобы программа cmake была доступна через $PATH. -Для создания нового проекта C или C++ в &tdevelop; выберите ПроектСоздать проект... C или C++Проект CMake«Шаблон разделяемой библиотеки» или «Программа Hello world». - + сmake + проекты + +CMake будет главной системой для &kde; 4 и &tdevelop; уже предоставляет несколько шаблонов проектов на C и C++ собирающихся посредством CMake. Для сборки потребуется только, чтобы программа cmake была доступна через $PATH. +Для создания нового проекта C или C++ в &tdevelop; выберите ПроектСоздать проект... C или C++Проект CMake«Шаблон разделяемой библиотеки» или «Программа Hello world». + -ANT (&Java;) +ANT (&Java;) - проекты - ant + проекты + ant - ant - проекты + ant + проекты - проекты - Java + проекты + Java - Java - проекты + Java + проекты - разработка - Java - -Разработчики, предпочитающие &Java;, возможно, захотят использовать диспетчер проектов Apache ANT. Для создания проекта Ant в &tdevelop; выберите Проект Создать проект... Java Проект Ant Приложение. -Подробности вы можете найти на сайте проекта Apache Ant. - + разработка + Java + +Разработчики, предпочитающие &Java;, возможно, захотят использовать диспетчер проектов Apache ANT. Для создания проекта Ant в &tdevelop; выберите Проект Создать проект... Java Проект Ant Приложение. +Подробности вы можете найти на сайте проекта Apache Ant. + -Особые проекты +Особые проекты - проекты - особый + проекты + особый - особые проекты + особые проекты - Makefile - особые проекты - -Если вы предпочитаете создавать файлы Makefile собственноручно, выберите этот тип. Это пригодится в проектах с нестандартной структурой или для полного контроля процесса сборки посредством make. -Если вам не нужна такая гибкость, обратите внимание на &automanag; или другой диспетчер проектов, так как они упрощают процесс сборки и подготовку к распространению. - + Makefile + особые проекты + +Если вы предпочитаете создавать файлы Makefile собственноручно, выберите этот тип. Это пригодится в проектах с нестандартной структурой или для полного контроля процесса сборки посредством make. +Если вам не нужна такая гибкость, обратите внимание на &automanag; или другой диспетчер проектов, так как они упрощают процесс сборки и подготовку к распространению. + -Распространение вашего приложения +Распространение вашего приложения - распространение + распространение - приложение - распространение + приложение + распространение - двоичные пакеты - -Для распространения ваших программ на конечной системе не требуется ничего кроме - соответствующего компилятора, - компоновщика и - библиотек разработки (devel), + двоичные пакеты + +Для распространения ваших программ на конечной системе не требуется ничего кроме + соответствующего компилятора, + компоновщика и + библиотек разработки (devel), -что часто нужно хотя бы для приложений C++. Но вы также можете сразу распространять ваше приложение в виде двоичных пакетов. В этом случае наличие &tdevelop; на конечной системе не требуется. -При распространении исходного кода вашего проекта мы рекомендуем включать в них также и файл проекта &tdevelop;. Это упростит изменение исходных файлов другими разработчиками, если они также используют &tdevelop;. -Для проектов с несколькими разработчиками, работающими в разных местах, это необходимо в любом случае. -Особенно в случае интернациональных программ, когда переводчику требуется работать с исходным кодом только для исправления некоторых его участков для полной поддержки локализации. - - - - - -
+что часто нужно хотя бы для приложений C++. Но вы также можете сразу распространять ваше приложение в виде двоичных пакетов. В этом случае наличие &tdevelop; на конечной системе не требуется. +При распространении исходного кода вашего проекта мы рекомендуем включать в них также и файл проекта &tdevelop;. Это упростит изменение исходных файлов другими разработчиками, если они также используют &tdevelop;. +Для проектов с несколькими разработчиками, работающими в разных местах, это необходимо в любом случае. +Особенно в случае интернациональных программ, когда переводчику требуется работать с исходным кодом только для исправления некоторых его участков для полной поддержки локализации. + + + + + + diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/unixdev.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/unixdev.docbook index 861de3a43f5..c0112206c7e 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/unixdev.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/unixdev.docbook @@ -2,645 +2,292 @@ - BerndPol + BerndPol -Разработка ПО в &UNIX; +Разработка ПО в &UNIX; -разработка +разработка - &UNIX; - программирование + &UNIX; + программирование -Исторические замечания - -история -языки сценариев +Исторические замечания + +история +языки сценариев - &UNIX; - история + &UNIX; + история - &UNIX; - конфейер + &UNIX; + конфейер - &UNIX; - оболочка + &UNIX; + оболочка - shell - &UNIX; - -С самого начала, программы в &UNIX; разделились на два разных типа. Один тип — это мир языков программирования системы и приложений, где некоторый исходный код транслируется в машинный транслирующей программой, компилятором или интерпретатором. Примером является язык программирования C. &UNIX; была первой ОС, написанной на таком языке высокого уровня (относительно), вместо ассемблера, ориентированного на конкретную машину (на самом деле одним из изначальных назначений языка C было написание ядра &UNIX; и вспомогательных программ на машинах DEC PDP-11). -Второй тип — это мир сценариев (скриптов). Он развился с приходом оболочки &UNIX; (shell), которая являлась интерфейсом пользователя к ОС — и в то же время языком программирования очень высокого уровня. Сценарии используют набор маленьких утилит, таких как grep, sed и find, каждая из которых создана для конкретной задачи. Хитрость заключается в том, что любая такая программа может быть соединена с другой посредством простого транспортного механизма, который называется конвейером, суть его заключается в том, что он перенаправляет вывод одной программы на ввод другой. Это есть основа многофункциональности и гибкости инструмента. -С течением времени, оба мира бурно развивались. Язык C до сих пор используется преимущественно в качестве системного язык программирования, тогда как C++ — дальнейшее развитие C, воплощающее объектно-ориентированную модель программирования, — с начала 90-ых используется при программировании сложных структурированных систем. Кроме того, осталась поддержка многих других языков программирования, даже таких, как FORTRAN77 и Ada, которые всё ещё используются в некоторых областях. - + shell + &UNIX; + +С самого начала, программы в &UNIX; разделились на два разных типа. Один тип — это мир языков программирования системы и приложений, где некоторый исходный код транслируется в машинный транслирующей программой, компилятором или интерпретатором. Примером является язык программирования C. &UNIX; была первой ОС, написанной на таком языке высокого уровня (относительно), вместо ассемблера, ориентированного на конкретную машину (на самом деле одним из изначальных назначений языка C было написание ядра &UNIX; и вспомогательных программ на машинах DEC PDP-11). +Второй тип — это мир сценариев (скриптов). Он развился с приходом оболочки &UNIX; (shell), которая являлась интерфейсом пользователя к ОС — и в то же время языком программирования очень высокого уровня. Сценарии используют набор маленьких утилит, таких как grep, sed и find, каждая из которых создана для конкретной задачи. Хитрость заключается в том, что любая такая программа может быть соединена с другой посредством простого транспортного механизма, который называется конвейером, суть его заключается в том, что он перенаправляет вывод одной программы на ввод другой. Это есть основа многофункциональности и гибкости инструмента. +С течением времени, оба мира бурно развивались. Язык C до сих пор используется преимущественно в качестве системного язык программирования, тогда как C++ — дальнейшее развитие C, воплощающее объектно-ориентированную модель программирования, — с начала 90-ых используется при программировании сложных структурированных систем. Кроме того, осталась поддержка многих других языков программирования, даже таких, как FORTRAN77 и Ada, которые всё ещё используются в некоторых областях. + -Современные языки сценариев -Ну, а в мире сценариев произошла перестановка, от оболочки, недостатком которой было отсутствие полной переносимости, до языков, которые унифицируют всю общую необходимую функциональность в своих стандартных библиотеках, оставляя возможность прибегать к конвейерному механизму. -Общее всех этих сценарных языков — их переносимость между клонами &UNIX;, Microsoft &Windows;, &MacOS;, или даже VMS. Также, для всех их доступны свободно распространяемые реализации. +Современные языки сценариев +Ну, а в мире сценариев произошла перестановка, от оболочки, недостатком которой было отсутствие полной переносимости, до языков, которые унифицируют всю общую необходимую функциональность в своих стандартных библиотеках, оставляя возможность прибегать к конвейерному механизму. +Общее всех этих сценарных языков — их переносимость между клонами &UNIX;, Microsoft &Windows;, &MacOS;, или даже VMS. Также, для всех их доступны свободно распространяемые реализации. -&perl; +&perl; -Perl +Perl - языки сценариев - Perl - -&perl; популярен как язык обработки текста и, следовательно, системного администрирования. На заре World Wide Web, CGI-скрипты на &perl; использовались для генерирования динамических web-страниц на основе базы данных. Сегодня такой метод реализован в виде модуля mod_perl web-сервера &apache;. Среди сильных сторон &perl;'а — его встроенная поддержка расширенных регулярных выражений и богатый архив свободных модулей к нему, для подробностей см.: Comprehensive Perl Archive Network (CPAN). + языки сценариев + Perl + +&perl; популярен как язык обработки текста и, следовательно, системного администрирования. На заре World Wide Web, CGI-скрипты на &perl; использовались для генерирования динамических web-страниц на основе базы данных. Сегодня такой метод реализован в виде модуля mod_perl web-сервера &apache;. Среди сильных сторон &perl;'а — его встроенная поддержка расширенных регулярных выражений и богатый архив свободных модулей к нему, для подробностей см.: Comprehensive Perl Archive Network (CPAN). - + -Python +Python -Python +Python - языки сценариев - Python - -&python; отличается элегантностью классовой системы, лёгкостью и гибкостью, с которой можно внешние библиотеки могут быть подключены — к ним можно обращаться как к стандартным классам и функциям &python;. В отличие от &perl;, &python; имеет прозрачный и сконцентрированный встроенный &API;, что делает его прекрасным средством поддержки сценариев для программ, написанных на C и C++, . - + языки сценариев + Python + +&python; отличается элегантностью классовой системы, лёгкостью и гибкостью, с которой можно внешние библиотеки могут быть подключены — к ним можно обращаться как к стандартным классам и функциям &python;. В отличие от &perl;, &python; имеет прозрачный и сконцентрированный встроенный &API;, что делает его прекрасным средством поддержки сценариев для программ, написанных на C и C++, . + -PHP +PHP -PHP +PHP - языки сценариев - PHP - -&php; встраивается прямо в &HTML;-страницы, и, следовательно, применяется для генерирования динамических web-страниц. - - + языки сценариев + PHP + +&php; встраивается прямо в &HTML;-страницы, и, следовательно, применяется для генерирования динамических web-страниц. + + -Высокоуровневые сценарии - -Высокоуровневые приложения обычно более медлительные и не так гибки в применении. Это проявляется в мире программ с графическим пользовательским интерфейсом (GUI), таких как &kde;. -Потребность в некоем подобии конвейеров низкоуровневых консольных программ для высокоуровневых приложений привела к появлению CORBA и, позже в среде &kde;, &DCOP;. +Высокоуровневые сценарии + +Высокоуровневые приложения обычно более медлительные и не так гибки в применении. Это проявляется в мире программ с графическим пользовательским интерфейсом (GUI), таких как &kde;. +Потребность в некоем подобии конвейеров низкоуровневых консольных программ для высокоуровневых приложений привела к появлению CORBA и, позже в среде &kde;, &DCOP;. -Протокол CORBA +Протокол CORBA -CORBA +CORBA - языки сценариев - CORBA + языки сценариев + CORBA - связь - CORBA - -CORBA (Common Object Request Broker Architecture) - это механизм, позволяющий разным программам работать совместно через сеть. Он разработан комитетом стандартов OMG (Object Management Group). -Программы, поддерживающие CORBA, используют протокол IIOP для связи. Реализации, основанные на IIOP, есть для многих операционных систем, языков программирования, и сетей, что делает его хорошо переносимым. -Основной недостаток CORBA - это его очень низкая скорость. Возможно это не так существенно. в сетях с мощными серверами, но на обычных компьютерах, для которых предназначен &kde;, это является главным. - - + связь + CORBA + +CORBA (Common Object Request Broker Architecture) - это механизм, позволяющий разным программам работать совместно через сеть. Он разработан комитетом стандартов OMG (Object Management Group). +Программы, поддерживающие CORBA, используют протокол IIOP для связи. Реализации, основанные на IIOP, есть для многих операционных систем, языков программирования, и сетей, что делает его хорошо переносимым. +Основной недостаток CORBA - это его очень низкая скорость. Возможно это не так существенно. в сетях с мощными серверами, но на обычных компьютерах, для которых предназначен &kde;, это является главным. + + -Интерфейс &DCOP; +Интерфейс &DCOP; -DCOP +DCOP - языки сценариев - DCOP + языки сценариев + DCOP - связь - DCOP - -Протокол DCOP разработан для связи и более тесной интеграции между приложениями &kde;, т.к. использование медленного CORBA, имеющего ряд ограничений, привело бы к всеобщей "неподъёмности" &kde; на обычных компьютерах. -&DCOP; расшифровывается как Desktop COmmuniсation Protocol (протокол связи рабочих станций). Он реализован как простой механизм IPC/RPC, построенный для оперирования сокетами. Словом, он обеспечивает удобства схожие с традиционным конвейерным механизмом &UNIX;. -Традиционные сценарии основываются на очень маленьких программах, которые были созданы для работы на строго текстовой основе. &DCOP; позволяет графическим программам связываться между собой схожим путём. Т.е. одна &kde;-программа может посылать сообщения другой (возможно своей копии), и сама получать и обрабатывать данные от неё. -Однако у такого метода всё же есть и недостатки — для использования &DCOP; в программу нужно встроить специальный код интерфейса &DCOP;. Кроме того, связь происходит несколько медленно (но значительно быстрее CORBA), хотя, в свою очередь, она даёт мощь и гибкость сценариев &UNIX; высокоуровневым программам с графическим пользовательским интерфейсом. -Для подробностей см. DCOP: Desktop COmmunications Protocol или &API;-справочник библиотеки &DCOP;. - - - + связь + DCOP + +Протокол DCOP разработан для связи и более тесной интеграции между приложениями &kde;, т.к. использование медленного CORBA, имеющего ряд ограничений, привело бы к всеобщей "неподъёмности" &kde; на обычных компьютерах. +&DCOP; расшифровывается как Desktop COmmuniсation Protocol (протокол связи рабочих станций). Он реализован как простой механизм IPC/RPC, построенный для оперирования сокетами. Словом, он обеспечивает удобства схожие с традиционным конвейерным механизмом &UNIX;. +Традиционные сценарии основываются на очень маленьких программах, которые были созданы для работы на строго текстовой основе. &DCOP; позволяет графическим программам связываться между собой схожим путём. Т.е. одна &kde;-программа может посылать сообщения другой (возможно своей копии), и сама получать и обрабатывать данные от неё. +Однако у такого метода всё же есть и недостатки — для использования &DCOP; в программу нужно встроить специальный код интерфейса &DCOP;. Кроме того, связь происходит несколько медленно (но значительно быстрее CORBA), хотя, в свою очередь, она даёт мощь и гибкость сценариев &UNIX; высокоуровневым программам с графическим пользовательским интерфейсом. +Для подробностей см. DCOP: Desktop COmmunications Protocol или &API;-справочник библиотеки &DCOP;. + + + -Системы сборки - -Кроме самых простых случаев, ваш проект будет состоять из множества блоков исходного кода, разделённых по нескольким файлам для удобства сопровождения. Для преобразования исходного кода в машинный, нужно транслировать всё это в несколько машинных модулей в удобном для чтения операционной системой формате. -Для этого как минимум требуется - текстовый редактор — для написания исходного кода, - транслирующая программа, обычно это компилятор, — для преобразования исходного кода в объектные файлы, - библиотекарь — для сборки объектных файлов в библиотеки для последующего их использования без необходимости перекомпилирования, - компоновщик — связки нескольких объектных файлов и библиотек в один исполнимый файл, - система сборки, претендующая на управление всем этим "добром", и - отладчик — чтобы найти (надеемся) все ошибки в исходных кодах, и, возможно, другие диагностические утилиты для последующей оптимизации кода. +Системы сборки + +Кроме самых простых случаев, ваш проект будет состоять из множества блоков исходного кода, разделённых по нескольким файлам для удобства сопровождения. Для преобразования исходного кода в машинный, нужно транслировать всё это в несколько машинных модулей в удобном для чтения операционной системой формате. +Для этого как минимум требуется + текстовый редактор — для написания исходного кода, + транслирующая программа, обычно это компилятор, — для преобразования исходного кода в объектные файлы, + библиотекарь — для сборки объектных файлов в библиотеки для последующего их использования без необходимости перекомпилирования, + компоновщик — связки нескольких объектных файлов и библиотек в один исполнимый файл, + система сборки, претендующая на управление всем этим "добром", и + отладчик — чтобы найти (надеемся) все ошибки в исходных кодах, и, возможно, другие диагностические утилиты для последующей оптимизации кода. -Когда у вас имеется большой проект, состоящий из возможно сотен исходных файлов, процесс компиляции может быть медлительным. Не нужно компилировать заново все файлы когда был изменён только один, вместо этого следует компилировать файлы, которые были затронуты изменениями. На самом деле это не так очевидно, как кажется на первый взгляд. -Например, если вы изменили прототип функции в заголовке, нужно перекомпилировать каждый файл, включающий этот заголовок. И если в проекте таких файлов много, легко пропустить один делая это вручную. Сборочная система обеспечивает автоматизацию такой работы. +Когда у вас имеется большой проект, состоящий из возможно сотен исходных файлов, процесс компиляции может быть медлительным. Не нужно компилировать заново все файлы когда был изменён только один, вместо этого следует компилировать файлы, которые были затронуты изменениями. На самом деле это не так очевидно, как кажется на первый взгляд. +Например, если вы изменили прототип функции в заголовке, нужно перекомпилировать каждый файл, включающий этот заголовок. И если в проекте таких файлов много, легко пропустить один делая это вручную. Сборочная система обеспечивает автоматизацию такой работы. -Процесс сборки +Процесс сборки - make + make - Makefile + Makefile - правило + правило - перекомпиляция + перекомпиляция - target (целевой) + target (целевой) - зависимости + зависимости - команды - -Инструмент, выполняющий перекомпиляцию называется make. Его работа управляется специальными правилами, которые описывают необходимые действия в случае изменения определённой информации (обычно объектного файла или файла исходного кода). Все правила, принадлежащие определённому проекту записываются в т.н. Makefile, который обрабатывается командой make в любое время когда вы хотите обновить вашу работу. -Каждое правило состоит из нескольких сборочных блоков, а именно - целевого(target), т.е. файла, который нужно собрать - набора зависимостей, обычно это имена файлов, от которых зависит целевой (target), например это может быть имя исходного файла, где целевой будет упомянут как объектный, - команд, которые выполняются для сборки целевого файла (например его компиляции или компоновки нескольких объектных файлов). + команды + +Инструмент, выполняющий перекомпиляцию называется make. Его работа управляется специальными правилами, которые описывают необходимые действия в случае изменения определённой информации (обычно объектного файла или файла исходного кода). Все правила, принадлежащие определённому проекту записываются в т.н. Makefile, который обрабатывается командой make в любое время когда вы хотите обновить вашу работу. +Каждое правило состоит из нескольких сборочных блоков, а именно + целевого(target), т.е. файла, который нужно собрать + набора зависимостей, обычно это имена файлов, от которых зависит целевой (target), например это может быть имя исходного файла, где целевой будет упомянут как объектный, + команд, которые выполняются для сборки целевого файла (например его компиляции или компоновки нескольких объектных файлов). -Обычно команда make читает правила, одно за другим, проверяет каждый файл из списка зависимостей конечного файла и собирает его заново если хотя бы один файл из списка зависимостей был изменён. -В больших проектах Makefile может стать очень большим и сложным. Мы не можем здесь углубляться в подробности, однако рекомендуем вам изучить хотя бы основы синтаксиса make. Даже если вы не используете его напрямую, понимание принципов системы сборки вам должно пригодиться. Для подробностей см. GNU Make Manual. -Для подробностей, касающихся &tdevelop;, см. главу Сборка и управление проектом. -Доступно несколько руководств, см. в главе Сборка и управление проектом. - - - +Обычно команда make читает правила, одно за другим, проверяет каждый файл из списка зависимостей конечного файла и собирает его заново если хотя бы один файл из списка зависимостей был изменён. +В больших проектах Makefile может стать очень большим и сложным. Мы не можем здесь углубляться в подробности, однако рекомендуем вам изучить хотя бы основы синтаксиса make. Даже если вы не используете его напрямую, понимание принципов системы сборки вам должно пригодиться. Для подробностей см. GNU Make Manual. +Для подробностей, касающихся &tdevelop;, см. главу Сборка и управление проектом. +Доступно несколько руководств, см. в главе Сборка и управление проектом. + + + -Объектно-ориентированное программирование +Объектно-ориентированное программирование - GUI + GUI - графический пользовательский интерфейс + графический пользовательский интерфейс - пользовательский интерфейс - GUI - -Разработчики программного обеспечения вынуждены создавать не только библиотеки и алгоритмы, но и удобный пользовательский интерфейс, гибкий и интуитивный. Однако большинство программистов не удаляют этому большого внимания, и, как результат, хорошие программы имеют бедный дизайн. -На протяжении годов, были выработаны некоторые общие принципы реализации интерфейса. Настоятельно рекомендуется придерживаться их. Таким образом ваши пользовательские интерфейсы будут сохранять общий вид и интуитивность, что непременно будет оценено пользователями. -Визуальная разработка &kde; также имеет свои принципы. Их можно найти на странице принципов дизайна пользовательского интерфейса в уголке разработчика &kde;. -Краткое введение в дизайн графического пользовательского интерфейса можно найти здесь, либо здесь (больший уклон в сторону умирающей ОС). - - + пользовательский интерфейс + GUI + +Разработчики программного обеспечения вынуждены создавать не только библиотеки и алгоритмы, но и удобный пользовательский интерфейс, гибкий и интуитивный. Однако большинство программистов не удаляют этому большого внимания, и, как результат, хорошие программы имеют бедный дизайн. +На протяжении годов, были выработаны некоторые общие принципы реализации интерфейса. Настоятельно рекомендуется придерживаться их. Таким образом ваши пользовательские интерфейсы будут сохранять общий вид и интуитивность, что непременно будет оценено пользователями. +Визуальная разработка &kde; также имеет свои принципы. Их можно найти на странице принципов дизайна пользовательского интерфейса в уголке разработчика &kde;. +Краткое введение в дизайн графического пользовательского интерфейса можно найти здесь, либо здесь (больший уклон в сторону умирающей ОС). + + -Концепции и средства интегрирования: IDE +Концепции и средства интегрирования: IDE - IDE + IDE - интегрированная среда разработки + интегрированная среда разработки - разработка - IDE + разработка + IDE - окружение - IDE - -Для каждого этапа процесса программирования существует множество отдельных инструментов — планирование, редактирование, управление файлами и компилирование (сборка), отладка, документирование и т.д. Однако по мере роста проекта, он (почти всегда) становится громоздким, и процесс его дальнейшего программирования становится затруднительным. -Наиболее повторяющаяся работа проделывается при проектировании, компилировании и отладке программы. Большую часть такой работы можно автоматизировать используя шаблоны и сценарии. Другую большую часть — наличием инструментов. способных связываться один с другим через общий визуальный интерфейс (GUI). -К примеру, действительно удобно, когда отладчик может открыть исходный код в редакторе и расположить курсор в месте, где произошла ошибка. -Такую схему совершенствуют интегрированные среды разработки (&IDE;). Они собирают воедино все шаблоны, инструменты и сценарии, необходимые для продуктивного процесса разработки. -Для всевозрастающей платформы &kde; таким &IDE; является &tdevelop;. Эта среда разработки содержит широкий набор инструментов, обеспечивая простое окружение разработки и сопровождения ПО, использующего разные языки программирования и платформы. + окружение + IDE + +Для каждого этапа процесса программирования существует множество отдельных инструментов — планирование, редактирование, управление файлами и компилирование (сборка), отладка, документирование и т.д. Однако по мере роста проекта, он (почти всегда) становится громоздким, и процесс его дальнейшего программирования становится затруднительным. +Наиболее повторяющаяся работа проделывается при проектировании, компилировании и отладке программы. Большую часть такой работы можно автоматизировать используя шаблоны и сценарии. Другую большую часть — наличием инструментов. способных связываться один с другим через общий визуальный интерфейс (GUI). +К примеру, действительно удобно, когда отладчик может открыть исходный код в редакторе и расположить курсор в месте, где произошла ошибка. +Такую схему совершенствуют интегрированные среды разработки (&IDE;). Они собирают воедино все шаблоны, инструменты и сценарии, необходимые для продуктивного процесса разработки. +Для всевозрастающей платформы &kde; таким &IDE; является &tdevelop;. Эта среда разработки содержит широкий набор инструментов, обеспечивая простое окружение разработки и сопровождения ПО, использующего разные языки программирования и платформы. -Основные возможности &tdevelop; &kdevrelease; +Основные возможности &tdevelop; &kdevrelease; - &tdevelop; - возможности + &tdevelop; + возможности - возможности + возможности - Управление всеми средствами разработки на языке C++, такими как компилятор, компоновщик, отладчик и система сборки + Управление всеми средствами разработки на языке C++, такими как компилятор, компоновщик, отладчик и система сборки - Мастер приложений, упрощающий создание новых программ + Мастер приложений, упрощающий создание новых программ - Интегрированный редактор, основанный на редакторе &kwrite;, QEditor от Trolltec или другой. + Интегрированный редактор, основанный на редакторе &kwrite;, QEditor от Trolltec или другой. - Генератор классов, для создания новых классов и интегрирования их в проект + Генератор классов, для создания новых классов и интегрирования их в проект - Управление исходными, заголовочными файлами, документацией и т.д. + Управление исходными, заголовочными файлами, документацией и т.д. - Помощь при написании руководства приложения средствами &kde; + Помощь при написании руководства приложения средствами &kde; - Автоматическое генерирование &API;-документации в формате &HTML;, включающей описания классов проекта и перечня используемых библиотек + Автоматическое генерирование &API;-документации в формате &HTML;, включающей описания классов проекта и перечня используемых библиотек - Поддержка интернационализации, &kbabel; + Поддержка интернационализации, &kbabel; - Поддержка управления проектом через систему управления версиями (например, &CVS;) + Поддержка управления проектом через систему управления версиями (например, &CVS;) - Встроенный интерфейс к отладчику. + Встроенный интерфейс к отладчику. - Встроенный эмулятор консоли. + Встроенный эмулятор консоли. - Синтаксическая подсветка в файлах исходного кода. + Синтаксическая подсветка в файлах исходного кода. - Автодополнение кода для переменных класса, его методов, аргументов функций и т.п. + Автодополнение кода для переменных класса, его методов, аргументов функций и т.п. - Шаблоны для конкретных задач (написание модулей &kcontrol;, &konqueror;, апплетов &kicker;, TDEIO, а также стилей рабочего стола) + Шаблоны для конкретных задач (написание модулей &kcontrol;, &konqueror;, апплетов &kicker;, TDEIO, а также стилей рабочего стола) - Четыре дерева информации, для наглядного разделения исходных, заголовочных файлов, классов и документации, что позволяет отказаться от внешнего проводника + Четыре дерева информации, для наглядного разделения исходных, заголовочных файлов, классов и документации, что позволяет отказаться от внешнего проводника - Кросс-компилирование, с возможностью указания разных компиляторов, их ключей, архитектуры процессора и т.п. + Кросс-компилирование, с возможностью указания разных компиляторов, их ключей, архитектуры процессора и т.п. - Поддержка проектов Qt/Embedded (таких как Zaurus и iPAQ). + Поддержка проектов Qt/Embedded (таких как Zaurus и iPAQ). - Простота использования внешних программ, в виде добавления их в меню Сервис. + Простота использования внешних программ, в виде добавления их в меню Сервис. - + - + - + -- cgit v1.2.1