Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач Сватко.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.07 Mб
Скачать

2.2 Підтримувані компілятори

Офіційно підтверджена правильна робота Juce з наступними компіляторами:

  1. для операційної системи Linux це g++, що входить до складу GCC, починаючи з версії 3.3;

GCC - це вільно доступний оптгшізуючий компілятор для мов С, С + +, Ada 95, а також Objective С. Його версії застосовуються для різних реалізацій Unix (а також VMS, OS / 2 і інших систем PC), і дозволяють генерувати код для безлічі процесорів.

  1. для операційних систем лінійки Windows це Microsoft Visual Studio (починаючи з версії Visual С + + 6; підтримка Visual С + + 2010 введена, починаючи з версії Juce 1.52). Бібліотека Juce забезпечує взаємну сумісність програм, зібраних для Windows ХР, Vista і Windows 7;

  2. для Мас OS X це GCC, що входить до складу інструменту розробки XCode (для OS X 10.4 або більш пізньої);

Xcode - програма для розробки додатків під OS X і iOS, розроблена компанією Apple. Поставляється безкоштовно на установчому диску OS Xразом з операційною системою, але встановлюється користувачем вручну. Остання версія - 4.4.1, не підтримується старими версіями OS X. Останню версію Xcode можна безкоштовно завантажити на сайті для розробників Apple.

  1. для створення нативних додатків iPhone і iPad також використовується XCode;

  2. для розробки під Android необхідні Ant, Eclipse і Android NDK 5 версії (при зборці проектів Juce за допомогою 6 і 7 версій виникає помилка зв'язування, linker error). Хоча можливість створення Android-додатків і була включена в Juce, починаючи з версії бібліотеки 1.53, робота над її вдосконаленням ще триває.

2.3 Отримання і типи ліцензій

Права на бібліотеку Juce належать компанії Raw Material Software (http://www.rawmaterialsoftware.com/juce.php), розташованої у Великобританії.

Juce випускається під двома типами ліцензій:

  1. GNU Public License, що дає право розробникам безкоштовно отримувати, розповсюджувати бібліотеку, використовуючи останню для створення виключно Open-Source додатків;

  2. Комерційної - для створення закритих додатків. Комерційна ліцензія на бібліотеку не включає обмежень на число місць розробників, зайнятих у проекті, і не передбачає надання технічної підтримки: для останньої необхідно укладати окремі контракти. На момент написання курсу вартість однієї ліцензії становила 399 евро для країн Європейського союзу.

2.4 Клас Label

Клас Label використовується в основному для відображення різних пояснювальних написів, як з можливістю їх редагування користувачем, так і без. Приклади виведення текстів за допомогою цього компонента ми бачили в попередніх лекціях, починаючи з найпростіших програм. Мабуть, це один з найбільш часто використовуваних компонентів.

Можливість редагування написи ярлика задається методом void Label :: setEditable (bool editOnSingleClick, bool editOnDoubleClick = false, bool lossOfFocusDiscardsChanges = false). У випадку, якщо параметр lossOfFocusDiscardsChanges приймає значення true, то клацання мишею де-небудь під час редагування ярлика, скасовує внесені до тексту зміни.

Текст, що відображається компонентом класу Label, має тип рядка String і задається в конструкторі Label:: Label (const String & componentName = String :: empty, const String & labelText = String :: empty), де componentName - назва ярлика, необхідне для потреб налагодження, a labelText - відображається напис. Крім того, задати текст ярлика можна за допомогою функції void Label :: setText (const String & newText, bool

broadcastChangeMessage), де newText - новий текст. Другий параметр необхідний для генерації повідомлення про ізмненія тексту ярлика (у тому випадку, якщо він приймає значення true), проте в більшості випадків йому можна присвоїти значення false.

Отримати поточний текст ярлика можна за допомогою методу const String Label :: getText (bool returnActiveEditorContents = false) const. Приймається параметр необхідний лише в тому випадку, якщо ярлик знаходиться в стадії редагування тексту користувачем. Якщо параметр приймає значення true, функція повертає текст, що відображається ярликом на момент її виклику. У тому випадку, якщо параметр приймає значення false, функція поверне текст не раніше, ніж користувач закінчить його набір і натисне клавішу <ENTER>. У тому випадку, якщо можливість редагування написи заборонена, що приймається функцією параметр неважливий.

Для введення в ярлик змішаної інформації, наприклад, рядків і чисел, необхідно скористатися оператором або методом склеювання (конкатенації) рядків класу String, а також можливостями його конструктора. Наприклад, якщо в програмі є целочисленная змінна iWorkers, що відображає число робочих якогось підприємства, то вивести інформацію про це можна наступним чином (Лістинг 2.1):

Label * pWorkersLabel = new Label ("WorkersLabel");

String sWorkers = String (T ("Число робочих:")) + = String (iWorkers); pWorkersLabel-> setText (sWorkers, false);

Лістинг 2.1. Приклад перетворення цілочисельний змінної для виведення інформації в текстовий напис

Кожен ярлик має наступні колірні характеристики: колір кордону, колір фону і колір тексту, що відображається. Той чи інший колір задається методом, спадкоємною класом Label від Component, void Component :: setColour (int colourld, const Colour & colour). Перший параметр, що приймається функцією, показує, який саме колір (межі, фону або тексту) ярлика слід змінити, а другий задає власне цей колір.

Значення ID кольору можна задавати за допомогою елементів нумерованого списку, що входить до складу класу Label: enum Colourlds {backgroundColourld = 0x1000280, textColourld = 0x1000281, outlineColourld = 0x1000282 (колір фону, тексту і зовнішнього кордону написи, відповідно).

Крім того, оформлення написи можна змінити, задавши характеристики шрифту, Font. Новий шрифт ярлика задається методом void Label :: setFont (const Font & newFont). Отримати поточний шрифт напису можна за допомогою функції const Font & Label :: getFont () const throw ().

Вирівнювання тексту напису щодо меж компонента здійснює його метод void Label :: setJustificationType (const Justification & justification). Характер вирівнювання задається об'єктом класу Justification, який включає в себе нумерований список (Лістинг 2.2).

enum

{

left = 1, right = 2, horizontallyCentred = 4, top = 8,

bottom = 16, verticallyCentred = 32, horizontallyJustified = 64, centred = 36, centredLeft = 33, centredRight = 34, centredTop = 12, centredBottom = 20, topLeft = 9, topRight = 10, bottomLeft = 17, bottomRight = 18

}

Лістинг 2.2 Характер вирівнювання тексту напису щодо меж компонента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]