Пост посвящен погружению в недра EventFeed и является отчасти детективным. Советую читать не по диагонали, а подряд. А то будет как с Лорой Палмер. Вообщем, я предупредил. Поехали!
Показаны сообщения с ярлыком howto. Показать все сообщения
Показаны сообщения с ярлыком howto. Показать все сообщения
2011-11-23
2011-11-21
Harmattan. Пишем свой Control Panel Applet
Мы разобрались с тем, как писать в Event Feed. Но любое приложение нуждается в каких-либо настройках. В этой посте разберемся с тем, как интегрироваться в иерархию Settings в MeeGo Harmattan.
2011-11-17
Harmattan. Пишем в Event Feed
В MeeGo Harmattan как известно левый экран отдан под список событий. В этой статье я расскажу, как в него писать на примере приложения Calendar Feed (о нем позже).
2010-12-14
QtCreator: создание расширения редакторов на примере QmlJSEditor
Возникла потребность в активном использовании extension'ов к QtScript, причем в js-виде. Как известно, они хранятся в файлах __init__.js, раскиданных по разным папкам внутри папки qtscriptextension. Поменять название файла, содержащего extension, возможности нет (оно зашито в исходниках Qt). Следовательно, в QtCreator мы видим кучу файлов с одинаковым названием (__init__.js), что не очень удобно и совсем не продуктивно. В качестве решения был реализован небольшой плагин, являющийся по сути надстройкой над QmlJSEditor. На его примере и будет рассказано как отнаследоваться от QmlJSEditor, чтобы не потерять имеющийся функционал.
2010-11-07
QtCreator-XmlTree: Применение цветовых схем к редактору
QtCreator поддерживает кастомизацию цвета и шрифта текста в редакторах (в самом QtCreator это называется Color scheme). Это удобно, клево и все такое. Рассмотрим как добавить эту функциональность к нашему редактору XML.
2010-10-03
QtCreator-XmlTree: Добавляем редактор исходников
Редактор xml'я в виде дерева это безусловно удобно, но иногда возникает необходимость подправить его в текстовом виде. Самый логичный вариант добавить в интерфейс две вкладки: дерево и текстовый редактор.
2010-09-28
QtCreator-XmlTree: Редактор
Итак, мы создали скелет проекта и теперь нам надо его наполнить. Для начала определимся что нам необходимо отнаследовать для создания своего редактора:
- Core::IEditor
- Core::IFile
- Core::IEditorFactory
Ну и плюс к этому необходимо дописать уже созданного наследника ExtensionSystem::IPlugin и реализовать само дерево для отображения xml.
2010-09-26
QtCreator-XmlTree: Введение
Creator предоставляет достаточно мощную систему плагинов, но к сожалению по ней очень мало информации. Приходится искать все по обрывкам информации в сети и из исходников самого Креатора. Эта статья будет посвящена тому, что надо сделать для разработки своих плагинов. Остальные статьи цикла можно посмотреть в посте-оглавлении по XmlTree.
Плагин XmlTree для QtCreator
Qt Creator на данный момент является достаточно удобным и быстро развивающимся IDE, но в плане поддержки xml есть только возможность подсветить его GenericHighlighter'ом. По этой причине было решено написать плагин, показывающий и позволяющий редактировать xml в виде дерева нод. Этот пост является своеобразным оглавлением всех последующих постов, связанных с разработкой этого плагина.
Сам плагин хранится на Gitorious.
- Введение
- Создание своего редактора
- Добавляем редактор исходников xml
- Корректно обрабатываем сохранение
- Используем цветовые схема из настроек QtCreator
- ............
Сам плагин хранится на Gitorious.
2010-07-23
Использование Tree Model в QML интерфейсах
На данный момент в QML мы можем описать только линейные модели и представления. Также есть вариант использовать VisualDataModel для построения псевдо-деревьев (с изменением текущего rootIndex).
Но иногда не нужно строить большие деревья, где оправдано изменение rootIndex модели, а нужно построить дерево с небольшим ветвлением и с возможностью отображения его целиком.
Ниже описан способ как это сделать.
Но иногда не нужно строить большие деревья, где оправдано изменение rootIndex модели, а нужно построить дерево с небольшим ветвлением и с возможностью отображения его целиком.
Ниже описан способ как это сделать.
2010-06-23
Android-lighthouse: вызов Java-методов из C++/Qt-кода
По адресу http://qt.gitorious.org/~taipan/qt/android-lighthouse лежит репозитарий с Qt для Android'а. Проект более менее активно пилится его создателем и на данный момент его вполне уже можно использовать. Однако, там не хватает такой вещи как вызов Java-методов из кода, написанного на C++/Qt. В частности, это очень нужно для работы с GPS. Но. Никто не мешает нам слегка поправить проект и впилить туда нужный нам функционал. Этим и займемся.
Внимание! Все исходники основаны на версии репозитария на момент 23 июня (последний push на текущий момент сделан 14 июня).
Краткий экскурс: JNI
JNI - это коннектор между нативным кодом и кодом на Java. В настоящее время проект заброшен и не поддерживается, несмотря на большое количество багов в нем. Тем не менее, этот коннектор позволяет без проблем обращаться к ява-машине из нативного кода, пусть и делать это приходится очень аккуратно.
Постановка задачи
Работа с андроидом накладывает несколько ограничений:
Второе ограничение похуже и по сути не дает нам просто найти интересующие нас классы из нашего Qt-приложения и работать с ними. Опять же, делать поиск в OnLoad() и позже использовать найденные классы не получится, так как OnLoad() находится в lighthouse и кастомизировать его под каждое приложение не очень хорошо.
Следовательно, нам нужно:
Внимание! Все исходники основаны на версии репозитария на момент 23 июня (последний push на текущий момент сделан 14 июня).
Краткий экскурс: JNI
JNI - это коннектор между нативным кодом и кодом на Java. В настоящее время проект заброшен и не поддерживается, несмотря на большое количество багов в нем. Тем не менее, этот коннектор позволяет без проблем обращаться к ява-машине из нативного кода, пусть и делать это приходится очень аккуратно.
Постановка задачи
Работа с андроидом накладывает несколько ограничений:
- Мы не можем создать еще одну ява-машину, нам надо работать в той же (на процесс разрешена только одна ява-машина)
- ClassLoader для ява-машины в андроиде кастомизирован и не позволяет искать свои классы (системные ищутся и находятся на ура) из любого места отличного от функции OnLoad().
Второе ограничение похуже и по сути не дает нам просто найти интересующие нас классы из нашего Qt-приложения и работать с ними. Опять же, делать поиск в OnLoad() и позже использовать найденные классы не получится, так как OnLoad() находится в lighthouse и кастомизировать его под каждое приложение не очень хорошо.
Следовательно, нам нужно:
- Найти общее решение для вызова своих Java-методов
- Реализовать его
Подписаться на:
Сообщения (Atom)