<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Микроблог про wxWidgets &#187; Использование</title>
	<atom:link href="http://begemotov.net/wxwidgets/category/using/feed/" rel="self" type="application/rss+xml" />
	<link>http://begemotov.net/wxwidgets</link>
	<description>Мысли в процессе использования: открытия, удивления, мысли, ссылки, решения, советы, куски кода...</description>
	<lastBuildDate>Tue, 08 Nov 2011 20:02:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Просмотр wxWidgets переменых в GDB Ubuntu</title>
		<link>http://begemotov.net/wxwidgets/using/watch-wxwidgets-variable-in-gdb-ubuntu/</link>
		<comments>http://begemotov.net/wxwidgets/using/watch-wxwidgets-variable-in-gdb-ubuntu/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 20:19:20 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Использование]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/using/%d0%bf%d1%80%d0%be%d1%81%d0%bc%d0%be%d1%82%d1%80-wxwidgets-%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d1%8b%d1%85-%d0%b2-gdb-ubuntu/</guid>
		<description><![CDATA[GDB к сожалению не самый удобный отладчик на свете, но что делать&#8230; А мой (7.2 под ubuntu 11.04) еще падал все-время, если в функции где я ставлю брейк, есть определение wxString, типа wxString str = &#8220;some string&#8221;; падал с таким сообщением Breakpoint 2, BegUtils::GetImageFromZipResource (pathURL=&#8230;, fileName=&#8230;, type=wxBITMAP_TYPE_PNG) at /media/data/work/Flashnote/src/Utility/begutils.cpp:166/media/data/work/Flashnote/src/Utility/begutils.cpp:166:4941:beg:0x82977e3&#62;&#62;&#62;&#62;&#62;&#62;cb_gdb:&#62; info localswarning: static field&#8217;s value depends [...]]]></description>
			<content:encoded><![CDATA[<p>GDB к сожалению не самый удобный отладчик на свете, но что делать&#8230; А мой (7.2 под ubuntu 11.04) еще падал все-время, если в функции где я ставлю брейк, есть определение wxString, типа wxString str = &#8220;some string&#8221;; падал с таким сообщением</p>
<blockquote><p>Breakpoint 2, BegUtils::GetImageFromZipResource (pathURL=&#8230;, fileName=&#8230;, type=wxBITMAP_TYPE_PNG) at /media/data/work/Flashnote/src/Utility/begutils.cpp:166<br />/media/data/work/Flashnote/src/Utility/begutils.cpp:166:4941:beg:0x82977e3<br />&gt;&gt;&gt;&gt;&gt;&gt;cb_gdb:<br />&gt; info locals<br />warning: static field&#8217;s value depends on the current frame &#8211; bad debug info?<br />/build/buildd/gdb-7.2/gdb/findvar.c:427: internal-error: read_var_value: Assertion `frame&#8217; failed.<br />A problem internal to GDB has been detected,<br />further debugging may prove unreliable.</p>
</blockquote>
<p>Если определения строки нет, то заходил, но падал стоило провести курсором над параметром функции &#8211; строке. Вообщем дебажить было вообще невозможно.</p>
<p>Решение такое:</p>
<blockquote><p><font size="2"><font size="2">
<p dir="ltr" align="left">CodeBloks -&gt; Settings -&gt; Compiler and debugger settings -&gt; Debugger settings -&gt; И там в первый едит бокс добавляем строку source&nbsp; /media/data/const/wxWidgets/misc/gdb/print.py</p>
<p dir="ltr" align="left">
<p></font></font></p></blockquote>
<p dir="ltr" align="left">После чего падения прекращаются, и о чудо, отладчик начинает показывать значение wxString. Жизнь сразу становится много лучше:)</p>
<p>Еще почитать можно тут <a href="http://wxwidgets.blogspot.com/2009/01/pretty-printing-wxstuff-in-gdb.html" target="_blank">Pretty printing wxStuff in gdb</a> и <a href="http://forums.codeblocks.org/index.php/topic,12747.0.html" target="_blank">тут</a></p>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2011. |
<a href="http://begemotov.net/wxwidgets/using/watch-wxwidgets-variable-in-gdb-ubuntu/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/watch-wxwidgets-variable-in-gdb-ubuntu/#comments">Все молчат</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/gdb/" rel="tag">gdb</a>, <a href="http://begemotov.net/wxwidgets/tag/ubuntu/" rel="tag">Ubuntu</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/watch-wxwidgets-variable-in-gdb-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Поиск в SQLite без учета регистра, для русского языка</title>
		<link>http://begemotov.net/wxwidgets/using/poisk-v-sqlite-bez-ucheta-registra-dlya-russkogo-yazyika/</link>
		<comments>http://begemotov.net/wxwidgets/using/poisk-v-sqlite-bez-ucheta-registra-dlya-russkogo-yazyika/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 12:57:05 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Использование]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/using/poisk-v-sqlite-bez-ucheta-registra-dlya-russkogo-yazyika/</guid>
		<description><![CDATA[Не смотрю на всю свою юникодность, SQLite все-таки юникодна не до конца:( При поиске типа WHERE description LIKE “%STRING%&#8221; поиск идет без учета регистра для латинских букв, но к сожалению, он регистрозависимый для всех остальных символов. Корни этого уходят в виндовую функцию tolower(), которая правильно обрабатывает символы только текущей локали. И это весьма плохо, для [...]]]></description>
			<content:encoded><![CDATA[<p>Не смотрю на всю свою юникодность, SQLite все-таки юникодна не до конца:( При поиске типа WHERE description LIKE “%STRING%&#8221; поиск идет без учета регистра для латинских букв, но к сожалению, он регистрозависимый для всех остальных символов. Корни этого уходят в виндовую функцию tolower(), которая правильно обрабатывает символы только текущей локали. И это весьма плохо, для целого ряда задач, например для <a href="http://clipdiary.com/rus/clipboard-articles/using-clipboard-history-and-clipboard-manager.php" target="_blank">поиска ранее скопированного текста в истории буфера обмена</a> (извините, не удержался:))</p>
<p>Но к счастию способ есть. Оригинал и файлы для загрузки тут &#8211; <a href="http://ioannis.mpsounds.net/blog/2007/12/19/sqlite-native-unicode-like-support/" target="_blank">SQLite and native UNICODE LIKE support in C/C++</a> . А я раскажу о том как это интегрировать и скрестить с wxDatabaselayer’om.</p>
<ol>
<li>Берем файлы sqlite3_unicode.h/c с архива по ссылке выше и добавляем в проект.
<li>Вызываем свойства sqlite3_unicode.c&nbsp; и добавляем SQLITE_ENABLE_UNICODE; SQLITE_CORE в определения препроцессора c++/preprocessor/preprocessor definitions
<li>Если используете precompiled header в проекте, надо в свойствах обоих файлов отключить его использование.
<li>в с файле есть строчка #include &#8220;sqlite3.h&#8221; заменить ее на свой путь к sqlite3.h, если он у вас отличается
<li>Включить sqlite3.h в sqlite3_unicode.h, без этого у меня не компилилось.
<li>Дальше вызываете sqlite3_unicode_load();&nbsp; \&nbsp; sqlite3_unicode_free();&nbsp; -&nbsp; в начале/конце программы
<li>После открытия базы данных вызываем для нее sqlite3_unicode_init(db);</li>
</ol>
<p>Проблема тут в том что sqlite3_unicode_init(db); хочет db типа sqlite3 *, а у нас есть только указатель на обьект датабайслаера. Тут придется править код самого wxDatabaselayer’a и заново компилить. Идем в databaselayer\include\SqliteDatabaseLayer.h, пишем:</p>
<blockquote><p>// Added by Begemot &#8211; for using with&nbsp; sqlite3_unicode<br />void * GetSQLiteDatabase()&nbsp; { return m_pDatabase; }&nbsp; </p>
</blockquote>
<p>компиляем, и в нашей программе вместо строчки sqlite3_unicode_init(db); используем вот такую вот страшную конструкцию</p>
<blockquote><p>sqlite3_unicode_init(static_cast&lt;sqlite3*&gt;(static_cast&lt;SqliteDatabaseLayer*&gt;(db)-&gt;GetSQLiteDatabase()));</p>
</blockquote>
<p>Все. Теперь Like % прекрасно ищет по русским или любым другим символам без учета регистра.</p>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2010. |
<a href="http://begemotov.net/wxwidgets/using/poisk-v-sqlite-bez-ucheta-registra-dlya-russkogo-yazyika/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/poisk-v-sqlite-bez-ucheta-registra-dlya-russkogo-yazyika/#comments">Уже дискуссия (8)</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/sqlite/" rel="tag">sqlite</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/poisk-v-sqlite-bez-ucheta-registra-dlya-russkogo-yazyika/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>wxWidgets определение размера экрана</title>
		<link>http://begemotov.net/wxwidgets/using/wxwidgets-opredelenie-razmera-ekrana/</link>
		<comments>http://begemotov.net/wxwidgets/using/wxwidgets-opredelenie-razmera-ekrana/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:29:59 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Использование]]></category>
		<category><![CDATA[грабли]]></category>
		<category><![CDATA[код]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/using/wxwidgets-opredelenie-razmera-ekrana/</guid>
		<description><![CDATA[В wxWidgets есть wxSystemSettings::GetMetric() который, кроме прочего, позволяет узнать разрешение экрана, но к сожалению не правильно Проблемы появляются на мультимониторных конфигурациях. Вызов wxSystemSettings::GetMetric(wxSYS_SCREEN_X); дает нам ширину только первого монитора под Windows (сам проверял) и суммарную ширину обоих мониторов под Линуксом (сведенья из инета). Подозреваю что это баг, но разбиратся, формулировать и спорить некогда, поэтому просто [...]]]></description>
			<content:encoded><![CDATA[<p>В wxWidgets есть wxSystemSettings::GetMetric() который, кроме прочего, позволяет узнать разрешение экрана, но к сожалению не правильно <img src='http://begemotov.net/wxwidgets/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Проблемы появляются на мультимониторных конфигурациях. Вызов wxSystemSettings::GetMetric(wxSYS_SCREEN_X); дает нам ширину только первого монитора под Windows (сам проверял) и суммарную ширину обоих мониторов под Линуксом (сведенья из инета). Подозреваю что это баг, но разбиратся, формулировать и спорить некогда, поэтому просто написал воркараунд для себя</p>
<div class="codecolorer-container cpp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="cpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339900;">#ifdef __WIN32__ &nbsp; </span><br />
&nbsp; &nbsp; <span style="color: #666666;">// wxSystemSettings::GetMetric does not support multy-monitor configuration at Windows, and return parameters only for first monitor, but it seems wots fine under Linux</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> maxWidth <span style="color: #000080;">=</span> <span style="color: #008080;">::</span><span style="color: #007788;">GetSystemMetrics</span><span style="color: #008000;">&#40;</span>SM_CXVIRTUALSCREEN<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> maxHeight <span style="color: #000080;">=</span> <span style="color: #008080;">::</span><span style="color: #007788;">GetSystemMetrics</span><span style="color: #008000;">&#40;</span>SM_CYVIRTUALSCREEN<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <br />
<span style="color: #339900;">#else </span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> maxWidth <span style="color: #000080;">=</span> wxSystemSettings<span style="color: #008080;">::</span><span style="color: #007788;">GetMetric</span><span style="color: #008000;">&#40;</span>wxSYS_SCREEN_X<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> maxHeight <span style="color: #000080;">=</span> wxSystemSettings<span style="color: #008080;">::</span><span style="color: #007788;">GetMetric</span><span style="color: #008000;">&#40;</span>wxSYS_SCREEN_Y<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<span style="color: #339900;">#endif</span></div></div>
<p>Updated:<br />
Эхх стало  стыдно за плохой стиль:(</p>
<div class="codecolorer-container cpp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="cpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">// wxSystemSettings::GetMetric does not support multy-monitor configuration at Windows and return parameters only for first monitor, but it seems works well under Linux</span><br />
wxSize BegUtils<span style="color: #008080;">::</span><span style="color: #007788;">GetVirtualDisplayResolution</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
<span style="color: #339900;">#ifdef __WIN32__ &nbsp; </span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">return</span> wxSize<span style="color: #008000;">&#40;</span><span style="color: #008080;">::</span><span style="color: #007788;">GetSystemMetrics</span><span style="color: #008000;">&#40;</span>SM_CXVIRTUALSCREEN<span style="color: #008000;">&#41;</span>, <span style="color: #008080;">::</span><span style="color: #007788;">GetSystemMetrics</span><span style="color: #008000;">&#40;</span>SM_CYVIRTUALSCREEN<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<span style="color: #339900;">#else </span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">return</span> wxSize<span style="color: #008000;">&#40;</span>wxSystemSettings<span style="color: #008080;">::</span><span style="color: #007788;">GetMetricwxSYS_SCREEN_X</span><span style="color: #008000;">&#41;</span>, wxSystemSettings<span style="color: #008080;">::</span><span style="color: #007788;">GetMetricwxSYS_SCREEN_Y</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<span style="color: #339900;">#endif</span><br />
<span style="color: #008000;">&#125;</span><br />
<br />
<br />
...<br />
<br />
&nbsp; &nbsp; <span style="color: #0000ff;">const</span> wxSize resolution <span style="color: #000080;">=</span> BegUtils<span style="color: #008080;">::</span><span style="color: #007788;">GetVirtualDisplayResolution</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></div>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2010. |
<a href="http://begemotov.net/wxwidgets/using/wxwidgets-opredelenie-razmera-ekrana/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/wxwidgets-opredelenie-razmera-ekrana/#comments">Уже дискуссия (10)</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/grabli/" rel="tag">грабли</a>, <a href="http://begemotov.net/wxwidgets/tag/kod/" rel="tag">код</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/wxwidgets-opredelenie-razmera-ekrana/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Бег по минному полю к Qt</title>
		<link>http://begemotov.net/wxwidgets/using/beg-po-minnomu-polyu-k-qt/</link>
		<comments>http://begemotov.net/wxwidgets/using/beg-po-minnomu-polyu-k-qt/#comments</comments>
		<pubDate>Sun, 16 May 2010 05:53:47 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Qt]]></category>
		<category><![CDATA[Использование]]></category>
		<category><![CDATA[грабли]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/using/beg-po-minnomu-polyu-k-qt/</guid>
		<description><![CDATA[Последнее время что-то все чаще и чаще при разработки с wxWidgets приходит в голову аналогия с бегом по минному полю – никогда не знаешь что рванет, но каждый шаг этого ожидаешь. Обновился в транке то последней ревизии – бах. Взял компонент который раньше не юзал – бах, бах. , попробовал под мак компилять – бах, [...]]]></description>
			<content:encoded><![CDATA[<p>Последнее время что-то все чаще и чаще при разработки с wxWidgets приходит в голову аналогия с бегом по минному полю – никогда не знаешь что рванет, но каждый шаг этого ожидаешь.</p>
<p>Обновился в транке то последней ревизии – бах. Взял компонент который раньше не юзал – бах, бах. , попробовал под мак компилять – бах, бах, бах. И это не образно, это реально то на что я попал за неделю. Каждая проблема это время, нервы, разочарование.</p>
<p>Сейчас повторяется недавняя история, когда я <a href="http://begemotov.net/wxwidgets/common/kak-ya-izmenil-wxwidgets/">помучавшись с wxWidgets плюнул и написал программу на Objective-C\Cocoa</a>. Потратив пару дней на написание прототипа гуи, вернее самых зачатков прототипа – для того что бы проверить архитеетуру\логику работы. GUI в принципе не самое простое, но и ничего сверх естественного.</p>
<p>Дальше начались проблемы, посидев полдня с напильником под виндой, перейдя с с wxNotebook на AUI версию – удалось добиться приемлемого поведения под виндой. Пошел под Mac OS – там все было достаточно печально, тот же wxAuiNoteebook ведет себя совсем не так как надо (и это я не использовал никаких продвинутых возможностей, типа открепления\перемещения вкладок, просто их показ).</p>
<p>Конечно, я уверен что не решаемых проблем особо нет – можно было опять же достать напильник (что в принципе нормально), изменить подход к построению гуи, вернутся на родной Noteebook, попробовать второй, третий вариант и так далее. </p>
<p>Но что-то я уже был злой и раздосадованный, человек (можно сказать апологет wxWidgets!) стал убеждать, что для моей задачи лучше все-таки использовать Qt, заказчик был изначально больше за Qt чем за wxWidgets…</p>
<p>В общем теперь я очень срочно учу Qt <img src='http://begemotov.net/wxwidgets/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Пока остановились на варианте &#8211; пишу прототип на нем и потом мы смотрим, сравниваем&#160; и выбираем, но что-то мне подсказывает, что я знаю чем все закончится <img src='http://begemotov.net/wxwidgets/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2010. |
<a href="http://begemotov.net/wxwidgets/using/beg-po-minnomu-polyu-k-qt/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/beg-po-minnomu-polyu-k-qt/#comments">Уже дискуссия (9)</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/grabli/" rel="tag">грабли</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/beg-po-minnomu-polyu-k-qt/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>wxPropertyGrid &#8211; довольно удобно</title>
		<link>http://begemotov.net/wxwidgets/using/wxpropertygrid-dovolno-udobno/</link>
		<comments>http://begemotov.net/wxwidgets/using/wxpropertygrid-dovolno-udobno/#comments</comments>
		<pubDate>Tue, 11 May 2010 04:27:30 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Использование]]></category>
		<category><![CDATA[+1]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/using/wxpropertygrid-dovolno-udobno/</guid>
		<description><![CDATA[Есть у меня особенность, люблю когда поведение программы можно тонко настроить. Поэтому у меня в программах обычно куча настроек, причем часть из них скрытые и доступны только прямой правкой конфига, потому что добавлять в гуй кучу мелких опций – не всегда хорошо. Теперь я нашел выход, делаем в опцию одну страницу Advanced, суем туда wxPropertyGrid, [...]]]></description>
			<content:encoded><![CDATA[<p>Есть у меня особенность, люблю когда поведение программы можно тонко настроить. Поэтому у меня в программах обычно куча настроек, причем часть из них скрытые и доступны только прямой правкой конфига, потому что добавлять в гуй кучу мелких опций – не всегда хорошо.</p>
<p>Теперь я нашел выход, делаем в опцию одну страницу Advanced, суем туда <a href="http://docs.wxwidgets.org/trunk/classwx_property_grid.html" target="_blank">wxPropertyGrid</a>, теперь отпадает проблема усложнения GUI кучей мелких опций. К тому же добавление новых настроек превращается в простой и быстрый процесс.</p>
<p align="center"><a href="http://clipdiary.com/rus/"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://begemotov.net/wxwidgets/wp-content/uploads/2010/05/image.png" width="628" height="468" /></a></p>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2010. |
<a href="http://begemotov.net/wxwidgets/using/wxpropertygrid-dovolno-udobno/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/wxpropertygrid-dovolno-udobno/#comments">Уже дискуссия (16)</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/1/" rel="tag">+1</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/wxpropertygrid-dovolno-udobno/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>О тонкостях, точках и запятых</title>
		<link>http://begemotov.net/wxwidgets/using/o-tonkostyah-tochkah-i-zapyatyih/</link>
		<comments>http://begemotov.net/wxwidgets/using/o-tonkostyah-tochkah-i-zapyatyih/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 04:42:59 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Использование]]></category>
		<category><![CDATA[особенности]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/using/o-tonkostyah-tochkah-i-zapyatyih/</guid>
		<description><![CDATA[Есть у меня модуль для проверки наличия обновлений. Скачивает с сайта тхт файлик, парсит и радует юзверя наличием информации о новой версии. Периодически народ жаловался что у него не работает, у меня все работало, я конечно бил себя в грудь и грешил на фаерволы, в принципе основания были. Пока однажды вдруг не сломалось у меня. [...]]]></description>
			<content:encoded><![CDATA[<p>Есть у меня модуль для проверки наличия обновлений. Скачивает с сайта тхт файлик, парсит и радует юзверя наличием информации о новой версии.</p>
<p>Периодически народ жаловался что у него не работает, у меня все работало, я конечно бил себя в грудь и грешил на фаерволы, в принципе основания были. Пока однажды вдруг не сломалось у меня.</p>
<p>Начал ковыряться, оказалось фаерволы не причем, вернее не всегда причем. Оказалось что “2.8” это не всегда 2.8, банально правда?:) Вроде бы известно, банально, но пока гром не грянет…</p>
<p>В общем решение вот:</p>
<blockquote><p>bool wxString::ToCDouble(double * val)&#160; const     <br />Variant of ToDouble() always working in &quot;C&quot; locale.      <br /><strong>Works like ToDouble() but unlike it this function expects the floating point number to be formatted always with the rules dictated by the &quot;C&quot; locale (in particular, the decimal point must be a dot)</strong>, independently from the current application-wide locale (see wxLocale).</p>
</blockquote>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2010. |
<a href="http://begemotov.net/wxwidgets/using/o-tonkostyah-tochkah-i-zapyatyih/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/o-tonkostyah-tochkah-i-zapyatyih/#comments">Уже дискуссия (28)</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/osobennosti/" rel="tag">особенности</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/o-tonkostyah-tochkah-i-zapyatyih/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Mac OS, CMake and wxWidgets</title>
		<link>http://begemotov.net/wxwidgets/using/mac-os-cmake-and-wxwidgets/</link>
		<comments>http://begemotov.net/wxwidgets/using/mac-os-cmake-and-wxwidgets/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:07:55 +0000</pubDate>
		<dc:creator>Begemot</dc:creator>
				<category><![CDATA[Использование]]></category>
		<category><![CDATA[MACOS]]></category>

		<guid isPermaLink="false">http://begemotov.net/wxwidgets/?p=469</guid>
		<description><![CDATA[Привалило мне тут счастье в виде халтурки по клонированию одной утилиты с винды на мак. Поскольку  я давно мечтал портировать свой софт под мак (я же пишу на вхВиджетс!) не долго думая согласился. Поставил систему (установка MAC OS на хакинтош , первые впечатления) и потихоньку осваиваюсь. Даже завел новый блог &#8211; Dive Into Mac OS [...]]]></description>
			<content:encoded><![CDATA[<p>Привалило мне тут счастье в виде халтурки по клонированию одной утилиты с винды на мак. Поскольку  я давно мечтал портировать свой софт под мак (я же пишу на вхВиджетс!) не долго думая согласился. Поставил систему (<a href="http://begemotov.net/creator/xxx/pro-ustanovku-mac-os-na-hakintosh/" target="_blank">установка MAC OS на хакинтош</a> , <a href="http://begemotov.net/creator/xxx/mac-os-pervyie-vpechatleniya/">первые впечатления</a>) и потихоньку осваиваюсь. Даже завел новый блог &#8211; <a href="http://diveintomacos.blogspot.com/" target="_blank">Dive Into Mac OS &#8211; микрозаметки новичка</a> <img src='http://begemotov.net/wxwidgets/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Почти день убил на то что бы скрестить исходники, wxWidgets, CMake и IDEs, с переменным успехом, Очень удачно получилось что пару недель назад я наконец решил <a href="http://begemotov.net/creator/programming/cmake-mingw-codeblocks-level-up/" target="_blank">освоить CMake  вместе с minGW</a> под виндой, в рамках программы подготовки перехода на альтернативные оси, правда тогда я еще не знал что это будет так скоро:)</p>
<p>Теперь о плохом, модуль смейка FindWxWidgets под маком работает хреново (под виндой кстати тоже не идеально), это + почти полное не понимание того как это все работает под макосом\линуксом привели к тому что я провозился почти целый день,</p>
<p>Теперь кратко о проблемах с wxWidgets и CMake  под Mac OS и о том как удалось решить,</p>
<p>1. скомпилить вхВиджетс получилось но проинсталировать почему-то нет. то есть оно вроде инсталируется но wx-config &#8211;list возвращает только ту версию вхсов которая стояла в макое по умолчанию и не видит мою. решается указанием в CMake файле где брать нашу библиотеку</p>
<blockquote>
<div id="_mcePaste">SET(wxWidgets_CONFIG_EXECUTABLE /&#8230;path&#8230;/build/my-mac/wx-config)</div>
</blockquote>
<p>2. Для мака надо обязательно указывать архитектуру иначе ругается на либы</p>
<blockquote><p>SET(CMAKE_OSX_ARCHITECTURES i386)</p></blockquote>
<p>3. На всякий случай добавляем еще и (хотя точно не уверен что надо)</p>
<blockquote><p>set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)</p></blockquote>
<p>4. Теперь собственно поиск и подключения wxWidgets. (путь мы уже установили вверху)</p>
<p>После</p>
<blockquote><p>find_package (wxWidgets COMPONENTS ${myWXWIDGETS_LIBS} REQUIRED)</p>
<p>include_directories(${wxWidgets_INCLUDE_DIRS})</p></blockquote>
<div>Прошлось далать две ветви &#8211; одна под винду , вторая для APPLE, команда</div>
<div>
<blockquote>
<div>add_definitions(${wxWidgets_DEFINITIONS})</div>
</blockquote>
<div>у меня упорно не работает видимо что-то с форматом, думаю ошибка в модуле цмейка, под виндой, кстати так же не работает, но там  его можно было просто закоментировать &#8211; а тут не получается. под маком сделал так,</div>
<blockquote>
<div>add_definitions(-I/volumes/shared/work/const/wxwidgets-trunk/build/my-mac/lib/wx/include/osx_carbon-unicode-static-2.9 -I/volumes/shared/work/const/wxwidgets-trunk/include -D_FILE_OFFSET_BITS=64 -D__WXMAC__ -D__WXOSX__ -D__WXOSX_CARBON__)</div>
</blockquote>
<div>то есть указал то что мне выдает wx-config &#8211;cppflags&#8230;</div>
</div>
<div></div>
<div>5.  дальше имена библиотек, опять все через тернии &#8211; по нормальному. так :</div>
<div>
<blockquote>
<div>target_link_libraries(${myPROJECT} ${wxWidgets_LIBRARIES})</div>
</blockquote>
<div>не работает, только с ручным исправлением</div>
</div>
<blockquote>
<div>STRING(REPLACE &#8220;wx_osx_carbonu_jpeg-2.9&#8243; &#8220;wxjpeg-2.9&#8243; wxWidgets_LIBRARIES &#8220;${wxWidgets_LIBRARIES}&#8221;)</div>
<div>STRING(REPLACE &#8220;wx_osx_carbonu_png-2.9&#8243; &#8220;wxpng-2.9&#8243; wxWidgets_LIBRARIES &#8220;${wxWidgets_LIBRARIES}&#8221;)</div>
<div>target_link_libraries(${myPROJECT} ${wxWidgets_LIBRARIES} <strong>-liconv</strong>)</div>
</blockquote>
<div>Вот такие пироги.</div>
<div></div>
<div>P.S. Если вдруг есть кто знакомый с программированием под мак, и желающий провести небольшой экскурс\поотвечать в аське (<span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: normal; font-size: 10px; color: #666666;"><strong>#264684674<span style="color: #000000; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-weight: normal; font-size: 13px; line-height: 19px;">) на глупые вопросы, буду признателен &#8211; а то тут так много непонятного <img src='http://begemotov.net/wxwidgets/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ))</span></strong></span></div>
<div></div>
<div></div>
<hr />
<p><small>© Begemot for <a href="http://begemotov.net/wxwidgets">Микроблог про wxWidgets</a>, 2010. |
<a href="http://begemotov.net/wxwidgets/using/mac-os-cmake-and-wxwidgets/">Ссылка</a> |
<a href="http://begemotov.net/wxwidgets/using/mac-os-cmake-and-wxwidgets/#comments">Уже дискуссия (2)</a> <br/>
Больше по теме: <a href="http://begemotov.net/wxwidgets/tag/macos/" rel="tag">MACOS</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://begemotov.net/wxwidgets/using/mac-os-cmake-and-wxwidgets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

