LXF109 KDE4
От Linuxformat.
Съдържание
Блестяща плазма
- Част 1: Под капака на KDE4
- Част 2: Написване на плазмоид
- Част 3: Доставчици на данни
- Част 4: На всички езици по света
- Част 5: Програмиране с Solid
Ако вече сте работили в графичната среда на KDE 4, тогава просто няма как да не забележите плазмоидите. За тези, които все още не знаят какво е това, нека обясним. Плазмоидите са подобрена и украсена версия на аплети, които са известни на потребителите на KDE от незапомнени времена. Плазмоидите получиха името си от системата Плазма, който е предназначен да разшири значително възможностите на работния плот на KDE и да подобри външния му вид. Функционалност Плазма, от своя страна въз основа на новите библиотечни функции Qt 4, на първо място - на системата Рамка за графичен изглед (LXF105). Освен нея, Плазма използва нови инструменти за работа с OpenGL, появила се в Qt 4. От гледна точка на програмист, Плазма е API, чиято основна част е внедрена в библиотеката либплазма.
Както всички други разширения на KDE, плазмоидите са технически споделени библиотеки. Плазмоидното програмиране не е трудно, но отстраняването на грешки е доста досаден процес. Когато отстраняваме грешки на обикновени приложения, често се налага да ги рестартираме; когато отстраняваме грешки в разширенията Плазма, понякога трябва да рестартираме плазмата. И това обаче не е трудно да се направи - рестартирайте х-сървърът поне не е необходим. Освен това има специален инструмент за отстраняване на грешки в плазмоидите - плазмоиден преглед.
Покажи ми кода!
Основата на всеки плазмоид е клас, който наследява Плазма: Аплет или някой от неговите потомци. В библиотеката либплазма идентифицирани Плазма: GLApplet - специален клас за създаване на плазмоиди с помощта на OpenGL, и Плазма: PopupApplet - рамка за създаване на "изскачащи" плазмоиди. Всички те идват от QGraphicsWidget. Няколко класа, предназначени за показване на данни в плазмоида, произхождат от него: Плазма: Flash (показване на текст или графика за определен период от време), Плазма: Икона (пиктограма), Плазма: Измервателен уред (за показване на ленти за ниво в различни формати), Плазма: SignalPlotter (изчертаване на множество графики, които се променят с течение на времето) и Плазма: WebContent, който е способен да показва съдържанието на уеб страници, посочени от файл или връзка.
Няколко думи за заглавните файлове. В различни версии либплазма, съответстващи на различни версии на KDE 4, имената им могат да варират. В системата, в която написах тези примери, заглавните файлове са:
Както можете да си представите, най-интересният метод в класа е SysInfo_1 - paintInterface (). Той прави плазмоидния интерфейс:
Метод в него () изпълнявани от системата Плазма след извикване на конструктора и само веднъж. Той може да съдържа код, който инициализира елементите на плазмоида, след като обектът вече е създаден. Ако по време на този процес възникне грешка, можете да извикате метода на аплетния обект setFailedToLaunch (). Първият му аргумент е от тип bool (стойност вярно показва, че е възникнала грешка по време на инициализацията на плазмоида). Вторият параметър от тип "низ" ви позволява да кажете на системата какво точно се е случило. Обадете се setFailedToLaunch () - учтив начин за прекъсване на плазмоида. В същия файл, в който съхраняваме реализациите на методите от неговия клас, трябва да добавите реда
И какво се е случило?
Също така трябва да създадем плазмоиден файл с описание с разширението .работен плот. Между другото, това се изисква не само за плазмоиди, но като цяло за всякакви разширения на KDE. IN .работен плот- файлът съдържа описанието на разширението, както и инструкции за зареждането му от системата. Нашите
Параметър Име името на разширението е зададено да се показва на потребителя. Под него плазмоидът ще бъде известен, например, на помощната програма за добавяне на приспособления към работния плот. Параметър Коментирайте съдържа описание. Поле Тип казва на системата, че това разширение е от типа "услуга". Други важни параметри включват X-KDE-ServiceTypes, X-KDE-библиотека (име на библиотека с разширения) и X-KDE-PluginInfo-Name (името на плазмоида, използван от системата). Всичко останало в този файл е "текст".
Просто трябва да създадем файл с инструкции за CMake (вижте тази статия).
В този файл няма толкова много нови елементи. Качваме пакета Плазма, без които плазмоидът, разбира се, не може да се компилира. Екип kde4_add_plugin () показва, че целта за компилация е разширение на KDE 4 (не е изпълним като последния път). Сега можете да командвате