<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7608864205980884264</atom:id><lastBuildDate>Sun, 27 Nov 2011 23:21:21 +0000</lastBuildDate><title>PHP-GTK по-русски</title><description>Русскоязычный блог о PHP-GTK 2.</description><link>http://shecspi.blogspot.com/</link><managingEditor>noreply@blogger.com (Shecspi)</managingEditor><generator>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/shecspi" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="shecspi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/shecspi" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fshecspi" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-1934338330654779015</guid><pubDate>Mon, 29 Mar 2010 19:53:00 +0000</pubDate><atom:updated>2010-03-30T00:34:19.239+04:00</atom:updated><title>GtkDrawingArea. Усовершенствование</title><atom:summary>В данной статье мы усовершенствуем программу для рисования, разработанную в "GtkDrawingArea. Автоматическое рисование точек на холсте". Во-первых, избавимся от существенного бага прошлой версии - стирания нарисованного после перекрытия области для рисования другим окном. Во-вторых, обработаем клики по холсту левой кнопкой мыши.За основу был взят код демо-программы из дистрибьютива PHP-GTK.Сначала</atom:summary><link>http://shecspi.blogspot.com/2010/03/gtkdrawingarea_7813.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/S7EGU5yeddI/AAAAAAAAAdA/xdK7ImWQpwU/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-5504573035905838898</guid><pubDate>Mon, 29 Mar 2010 18:45:00 +0000</pubDate><atom:updated>2010-03-29T23:42:14.580+04:00</atom:updated><title>Создание скриншота рабочего стола</title><atom:summary>Вот я и узнал, как можно создать скриншот всего десктопа. Алгоритм аналогичен используемому в статье "Создание скриншота программы", за исключением того, что вместо конкретного виджета мы будем использовать корневое окно, т.е. рабочий стол, доступ к которому можно получить через Gdk::get_default_root_window(). Далее методом get_size() узнаем размеры монитора и напечатаем их в консоль. Ну а </atom:summary><link>http://shecspi.blogspot.com/2010/03/blog-post_29.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/S7D1V0Rd59I/AAAAAAAAAc4/--fe-dgs_uw/s72-c/screenshot.png" height="72" width="72" /><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-709403351550100597</guid><pubDate>Sun, 28 Mar 2010 20:55:00 +0000</pubDate><atom:updated>2010-03-29T01:07:12.552+04:00</atom:updated><title>GtkDrawingArea. Динамическое изменение содержимого области</title><atom:summary>В данной статье я расскажу о том, как вручную нарисовать и анимировать прогресс-бар. Все используемые приёмы уже обсуждались ранее: о работе с GtkDrawingArea я рассказал в статье "GtkDrawingArea. Автоматическое рисование точек на холсте", а о реализации тайм-аута в "Секундомер". Поэтому расскажу лишь непосредственно о самой реализации программы.Для начала дополним функцию do_exponse(), чтобы она </atom:summary><link>http://shecspi.blogspot.com/2010/03/gtkdrawingarea_29.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_kff0W9u6lhw/S6_CIEp23BI/AAAAAAAAAcw/_swpArtiMsA/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-2840649155209009182</guid><pubDate>Sun, 28 Mar 2010 19:48:00 +0000</pubDate><atom:updated>2010-03-30T01:18:59.093+04:00</atom:updated><title>GtkDrawingArea. Автоматическое рисование точек на холсте</title><atom:summary>В группе "Русское сообщество PHP-GTK" человек под ником Gucha ZX попросил меня рассказать о том, как работать с классом для произвольного рисования GtkDrawingArea, что я в этой, а возможно, и в следующих статьях и сделаю. Сегодня Вы узнаете о том, как создать белый холст и нарисовать на нём точку.И так. Класс GtkDrawingArea создаёт область для рисования. Как только область появляется первый раз </atom:summary><link>http://shecspi.blogspot.com/2010/03/gtkdrawingarea.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/S6-yhn3HwII/AAAAAAAAAco/S1sNGPZShfo/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-8845503623617921970</guid><pubDate>Sat, 27 Mar 2010 20:34:00 +0000</pubDate><atom:updated>2010-03-27T23:49:13.053+03:00</atom:updated><title>Программа генерации паролей</title><atom:summary>Сегодня предлагаю Вашему вниманию очередную небольшую готовую программу. С её помощью пользователь сможет сгенерировать себе пароль по заданным параметрам (длина и используемые символы).В коде нет ничего сложного, все используемые элементы интерфейса Вам уже хорошо знакомы, Для генерации пароля в цикле выбираем случайный символ из массива допустимых и добавляем его к получившемуся паролю.Полный </atom:summary><link>http://shecspi.blogspot.com/2010/03/blog-post_27.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_kff0W9u6lhw/S65txpPtaJI/AAAAAAAAAcU/oaKGKj5qFNU/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-108509702505035893</guid><pubDate>Fri, 26 Mar 2010 19:12:00 +0000</pubDate><atom:updated>2010-03-27T11:45:24.404+03:00</atom:updated><title>Создание скриншота программы</title><atom:summary>PHP-GTK позволяет создать снимок всего содержимого окна программы (к сожалению, за рамками окна снять не получится). То есть из такой программы:Получится такой снимок:Сделать это можно четырьмя строчками кода. Сначала создаём объект GdkPixbuf, которому в параметрах передаём типизображения - RGB, поддерживать (TRUE) или нет (FALSE) альфа-канал, глубину цвета, ширину и высоту изображения. С помощью</atom:summary><link>http://shecspi.blogspot.com/2010/03/blog-post.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/S60IXFeBQYI/AAAAAAAAAcI/XNqZb6aE5-U/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-2362251981000815819</guid><pubDate>Fri, 21 Aug 2009 18:10:00 +0000</pubDate><atom:updated>2009-09-23T09:04:34.438+04:00</atom:updated><title>Реальный пример применения прогрессбара</title><atom:summary>Данная тема меня сильно заинтересовала (о чём говорит скорость выхода статей - третья за сутки), поэтому я решил продолжить её и в данной статье описать процесс отображения прогрессбара при копировании файла. Для восприятия статьи Вам необходимо ознакомится с двумя предыдущими: Полоса прогресса и Отображение прогрессбара и параллельное выполнение операции.Как видно на скриншоте, помимо самого </atom:summary><link>http://shecspi.blogspot.com/2009/08/blog-post_21.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/So7kLbGjHXI/AAAAAAAAAY4/GEpHMp41nNU/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-3133880139676215428</guid><pubDate>Fri, 21 Aug 2009 10:28:00 +0000</pubDate><atom:updated>2009-09-23T09:05:25.601+04:00</atom:updated><title>Отображение прогрессбара и параллельное выполнение операции</title><atom:summary>В комментариях к прошлой статье мне подсказали, что для выполнения фоновых операций можно использовать класс ZendX_Console_Process_Unix из Zend Framework. Так как данный фреймворк распространяется на условиях лицензии BSD License, можно использовать его части, в частности, нас интересует только один класс, для своих проектов, дабы не таскать весь дистрибьютив размером под 90 МБ.Данный метод не </atom:summary><link>http://shecspi.blogspot.com/2009/08/unix.html</link><author>noreply@blogger.com (Shecspi)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-6688480437320187153</guid><pubDate>Thu, 20 Aug 2009 15:51:00 +0000</pubDate><atom:updated>2009-09-23T09:06:18.520+04:00</atom:updated><title>Полоса прогресса</title><atom:summary>В GTK+ для отображения прогресбара существует класс GtkProgressBar. Правда, в PHP-GTK от него практической пользы мало, т.к. в PHP отсутствует многопоточность. Процесс происходит примерно так: сначала выполняется PHP-код, а только потом перерисовывается интерфейс. В статье будет понятно, что при выполнении большого количества простых операций (например, копирование большого количества маленьких </atom:summary><link>http://shecspi.blogspot.com/2009/08/blog-post_20.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_kff0W9u6lhw/So13KdIj7cI/AAAAAAAAAYY/-iJpAFMSUzY/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-1.png" height="72" width="72" /><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-6524004844261947504</guid><pubDate>Tue, 18 Aug 2009 05:16:00 +0000</pubDate><atom:updated>2009-09-23T09:09:04.907+04:00</atom:updated><title>"Независимые" горячие клавиши</title><atom:summary>В предыдущей статье я рассказал о том, как привязать горячие клавиши к пунктам меню. Но клавишные комбинации могут выступать и "независимо" от меню. При нажатии любой клавиши на клавиатуре издаётся сигнал 'key-press-event'. Причём, важной особенностью является то, что имеется возможность для различных виджетов установить различные комбинации клавиш. В данном примере я использовал только один </atom:summary><link>http://shecspi.blogspot.com/2009/08/blog-post_18.html</link><author>noreply@blogger.com (Shecspi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-3598291124175690444</guid><pubDate>Mon, 17 Aug 2009 06:02:00 +0000</pubDate><atom:updated>2009-09-23T09:09:45.684+04:00</atom:updated><title>Создаём меню окна. Горячие клавиши</title><atom:summary>Очень важной частью любой программы являются горячие клавиши. Именно о них сегодня и поговорим.Сначала необходимо установить специальную группу для горячих клавиш - GtkAccelGroup. Хочу заметить, что комбинации клавиш из этой группы будут действовать по всей площади окна, независимо от активного в данный момент виджета.$accel_group = new GtkAccelGroup();$window-&gt;add_accel_group($accel_group);</atom:summary><link>http://shecspi.blogspot.com/2009/08/blog-post_17.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_kff0W9u6lhw/Soj3G9S6gCI/AAAAAAAAAYI/yH9AUq2-VgI/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-1833140149698977199</guid><pubDate>Thu, 13 Aug 2009 15:49:00 +0000</pubDate><atom:updated>2009-09-23T09:10:13.288+04:00</atom:updated><title>GtkHTML. Работа с формами</title><atom:summary>Обработка форм в GtkHTML далеко не очевидна, поэтому я решил посвятить ей отдельную статью.О GtkHTML информации в интернете очень мало, а про работу с формами я вообще ничего не нашёл и знакомился с ними на единственном примере.Для всех элементов формы вместо привычных &lt;input&gt; необходимо использовать тэг &lt;OBJECT&gt;, причём он один заменяет всю форму (далее станет понятно). Как только GtkHTML </atom:summary><link>http://shecspi.blogspot.com/2009/08/gtkhtml.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/SoQ25YXNXUI/AAAAAAAAAYA/mJgVuSXT2Oc/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-4080953342413904394</guid><pubDate>Sat, 08 Aug 2009 04:32:00 +0000</pubDate><atom:updated>2009-09-23T21:53:27.373+04:00</atom:updated><title>Редактор интерфейсов Glade</title><atom:summary>В PHP-GTK имеется возможность вместо ручного описания интерфейса использовать специальный редактор - Glade. Он сохраняет результаты в XML-файл, который впоследствии подключается классом GladeXML (данный модуль не входит в оригинальную поставку PHP-GTK, поэтому его необходимо подключать отдельно. В Unix это делается при компиляции, в Windows библиотеку можно взять из версии extensions-pack). Далее</atom:summary><link>http://shecspi.blogspot.com/2009/08/glade.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_kff0W9u6lhw/Sn0DQN1e4AI/AAAAAAAAAXw/uKdKTxm_oU0/s72-c/Intarface.png" height="72" width="72" /><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-3373956047820229551</guid><pubDate>Tue, 04 Aug 2009 04:49:00 +0000</pubDate><atom:updated>2009-09-23T21:53:58.736+04:00</atom:updated><title>Панель инструментов. Дополнительные кнопки</title><atom:summary>Панель инструментовПомимо обычных кнопок на панель инструментов можно добавить радио-кнопки, кнопки-переключатели, а также, кнопки с выпадающим списком. Радио-кнопки создаются конструктором класса GtkRadioToolButton. Первым параметром указывается группа кнопок (как у обычных радио-кнопок), вторым - имя элемента.$radio_one = new GtkRadioToolButton(NULL, Gtk::STOCK_MEDIA_REWIND);$toolbar-&gt;insert($</atom:summary><link>http://shecspi.blogspot.com/2009/08/blog-post_04.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_kff0W9u6lhw/Sne9hs92WnI/AAAAAAAAAWk/gaItgmW1yGE/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-1576465090823135999</guid><pubDate>Sun, 02 Aug 2009 17:08:00 +0000</pubDate><atom:updated>2009-09-23T21:55:09.505+04:00</atom:updated><title>Группирование кнопок</title><atom:summary>При добавлении в окно программы нескольких кнопок возникает вопрос о их расположении. Для того, чтобы упростить программистам работу в GTK+ существует класс GtkButtonBox, подклассами которого являются горизонтальный контейнер GtkHButtonBox и вертикальный GtkVButtonBox. В стандартной теме Ubuntu кнопки имеют большой размер, поэтому на скриншоте это выглядит не очень красиво.На этом скриншоте </atom:summary><link>http://shecspi.blogspot.com/2009/08/blog-post.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/SnXJooCbhuI/AAAAAAAAAWg/fGCdwPrHKBI/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-3432857003001506296</guid><pubDate>Thu, 30 Jul 2009 18:27:00 +0000</pubDate><atom:updated>2009-07-30T22:38:51.527+04:00</atom:updated><title>Вкладки. Часть 2</title><atom:summary>Для того, чтобы при нажатии на панель вкладок отобразилось контекстное меню необходимо вызвать метод popup_enable(). Причём генерация списка всех вкладок для этого меню произойдёт автоматически. При щелчке по пункту меню откроется соответствующая вкладка.Также в сегодняшней программе имеется возможность удаления вкладок. Для этого применяется метод remove_page(), которому передаётся номер вкладки</atom:summary><link>http://shecspi.blogspot.com/2009/07/2_30.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/SnHmqqwhDJI/AAAAAAAAAVw/sGNaR-CkVqE/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-5520392969598571626</guid><pubDate>Tue, 28 Jul 2009 10:31:00 +0000</pubDate><atom:updated>2009-09-23T21:56:05.739+04:00</atom:updated><title>Вкладки. Часть 1</title><atom:summary>Для удобного отображения большого количества виджетов, для их группировки и сортировки принято применять так называемые вкладки. Именно о них сегодня и поговорим.GtkNotebook - это своеобразный контейнер, содержащий переключающиеся вкладки. Он отличается от таких контейнеров, как GtkBox и GtkTable, тем, что в любой момент видна только одна "страница", содержащаяся в нём. Доступ к остальным </atom:summary><link>http://shecspi.blogspot.com/2009/07/1_28.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/Sm7WiPEu64I/AAAAAAAAAVo/FvLbKQbM_Ko/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-5115043041927430691</guid><pubDate>Sat, 25 Jul 2009 19:52:00 +0000</pubDate><atom:updated>2009-09-23T21:57:01.189+04:00</atom:updated><title>Вывод и масштабирование изображений</title><atom:summary>Из данной статьи Вы узнаете, что используя PHP-GTK можно очень просто вывести изображение в окно, а также, при необходимости, изменить его размер.Для вывода изображения необходимо использовать метод GtkImage::new_from_file(), передав ему в качестве параметра адрес графического файла.$path = '/home/shecspi/Картинки/gmail-icon-v2/gmail-icon-v2-256.png';$image = GtkImage::new_from_file($path);Для </atom:summary><link>http://shecspi.blogspot.com/2009/07/blog-post_25.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/SmwTilOu5bI/AAAAAAAAAVc/NNsCbakjTmE/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-3402992592689535411</guid><pubDate>Wed, 22 Jul 2009 19:33:00 +0000</pubDate><atom:updated>2009-09-23T21:58:30.445+04:00</atom:updated><title>Обработка HTML</title><atom:summary>В PHP-GTK имеется модуль для обработки HTML - GtkHTML. Причём определение дано очень точно, т.к. ничего больше он не умеет, да и с HTML справляется плохо. Отсутствует загрузка изображений (вместо этого издаётся сигнал 'url-requested'), не поддерживается CSS и JavaScript. Исходя из этого сложно найти данному модулю применение, разве что для отображения RSS-лент.Прежде чем использовать этот модуль </atom:summary><link>http://shecspi.blogspot.com/2009/07/html.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/SmdvQqmPelI/AAAAAAAAAU4/oYgRFi1afWQ/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-7546251173597752512</guid><pubDate>Tue, 21 Jul 2009 05:36:00 +0000</pubDate><atom:updated>2009-09-23T21:59:11.669+04:00</atom:updated><title>Текстовый редактор. Часть 5</title><atom:summary>Текстовый редактор. Часть 1Текстовый редактор. Часть 2Текстовый редактор. Часть 3Текстовый редактор. Часть 4Сегодня добавим в текстовый редактор кнопки копировать/вырезать/вставить на панель инструментов и реализуем простой поиск по тексту.Функции копирования/вырезания/вставки по умолчанию доступны для GtkTextBuffer, доступ к ним можно получить из контекстного меню или с помощью горячих клавиш. </atom:summary><link>http://shecspi.blogspot.com/2009/07/5_21.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_kff0W9u6lhw/SmVTrMYENFI/AAAAAAAAAU0/7GVE0ZJh8ck/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-783931656394554320</guid><pubDate>Sat, 18 Jul 2009 19:14:00 +0000</pubDate><atom:updated>2009-09-23T22:00:17.684+04:00</atom:updated><title>Текстовый редактор. Часть 4</title><atom:summary>Текстовый редактор. Часть 1Текстовый редактор. Часть 2Текстовый редактор. Часть 3Наш текстовый редактор постепенно становится всё более серьёзным, обрастая новыми функциями. Сегодня добавим возможность отмены/повторения ввода текста.Как видно на скриншоте, в окно я добавил панель инструментов с двумя кнопками. По умолчанию обе кнопки находятся в неактивном состоянии.При любом изменении текста в </atom:summary><link>http://shecspi.blogspot.com/2009/07/blog-post_18.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_kff0W9u6lhw/SmIfEVV1tuI/AAAAAAAAAUw/Is1hM9VOcE4/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-2420763276853563814</guid><pubDate>Fri, 17 Jul 2009 04:38:00 +0000</pubDate><atom:updated>2009-07-21T11:46:08.699+04:00</atom:updated><title>Текстовый редактор. Часть 3</title><atom:summary>Текстовый редактор. Часть 1Текстовый редактор. Часть 2Сегодня добавим к текстовому редактору подсветку синтаксиса.За подсветку синтаксиса отвечает модуль GtkSourceView. Для его установки на Linux при компиляции необходимо указать параметр --enable-sourceview.Если же у Вас Windows, то в файл php.ini необходимо добавить строчку:php-gtk.extensions = php_gtk_sourceview2.dllА также положить в корень </atom:summary><link>http://shecspi.blogspot.com/2009/07/blog-post_17.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/SmABbK5amGI/AAAAAAAAAUs/SnHnGSLlbR4/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-5091272336228997985</guid><pubDate>Wed, 15 Jul 2009 04:04:00 +0000</pubDate><atom:updated>2009-07-21T11:46:57.393+04:00</atom:updated><title>Текстовый редактор. Часть 2</title><atom:summary>Текстовый редактор. Часть 1Продолжаем разрабатывать текстовый редактор. Сегодня добавим в него меню и функции открытия и сохранения файлов.Про создание меню я писал в статьях Часть 1 и Часть 2. Создание диалога для открытия файлов описывалось в Диалоговые окна. Выбор файлов. Более детального рассмотрения требует только метод save_file(), предназначенный для сохранения файлов.public function </atom:summary><link>http://shecspi.blogspot.com/2009/07/2.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kff0W9u6lhw/Sl1ayG89ISI/AAAAAAAAAUo/trxMQYXDdkU/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-7103872144007175583</guid><pubDate>Sun, 12 Jul 2009 10:32:00 +0000</pubDate><atom:updated>2009-07-12T14:37:36.197+04:00</atom:updated><title>Список всех статей блога</title><atom:summary>Так как в блоге уже сейчас имеется 33 статьи и это ещё далеко не конец, а навигация на платформе Blogger крайне неудобная, я решил создать отдельную страницу с полным упорядоченным списков статей. Она находится по адресу http://groups.google.com/group/php-gtk-ru/web/php-gtk</atom:summary><link>http://shecspi.blogspot.com/2009/07/blog-post.html</link><author>noreply@blogger.com (Shecspi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7608864205980884264.post-110468969934839242</guid><pubDate>Sun, 12 Jul 2009 04:19:00 +0000</pubDate><atom:updated>2009-07-12T15:03:14.847+04:00</atom:updated><title>Текстовый редактор. Часть 1</title><atom:summary>Сегодня предлагаю начать разработку текстового редактора. Т.к. это первая статья из серии, то в ней будет создан только каркас, выводящий на экран окно с многострочным текстовым полем ввода.Непосредственно сам редактор у нас займёт только четыре строчки:$buffer = new GtkTextBuffer();$buffer-&gt;set_text("Привет, мир!\nЯ - текстовый редактор на PHP-GTK2 :)");$text = new GtkTextView();$text-&gt;</atom:summary><link>http://shecspi.blogspot.com/2009/07/1.html</link><author>noreply@blogger.com (Shecspi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_kff0W9u6lhw/SllqGFYuWaI/AAAAAAAAAUc/3Suksr3UwOE/s72-c/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png" height="72" width="72" /><thr:total>2</thr:total></item></channel></rss>

