Ярлыки
- С++ (3)
- Стихи (1)
- тонировка (1)
- Цитаты (2)
- ALTlinux (1)
- Apache (2)
- big-endian (1)
- Blogger (1)
- books (3)
- books links (1)
- Buisness (10)
- C (1)
- C# (5)
- c++ (27)
- car (8)
- Cheat (1)
- CSS (1)
- DLL (1)
- Draw (1)
- Eclipse (2)
- Films (1)
- Firefox (4)
- Flash (1)
- GTK (2)
- GUI (1)
- Home server (1)
- Hotels (1)
- HTML (6)
- IE (1)
- Internet (2)
- Java (1)
- JavaScript (6)
- jQuery (1)
- KDE (1)
- KeeTouch (1)
- Linux (34)
- little-endian (1)
- Makefile (1)
- MFC (6)
- multi-thread (2)
- Music (1)
- ODBC (2)
- OpenBox (2)
- photo (4)
- PHP (38)
- programing (2)
- proxy (1)
- QML (37)
- Qt (41)
- QtCreator (2)
- RegExp (3)
- Shopping (12)
- shutdown (1)
- Soft (1)
- Sound Card (1)
- SQL (1)
- SQL Server (14)
- Subversion (1)
- SVN (1)
- teach (4)
- text-editor (1)
- Travels (1)
- Ubuntu (38)
- Upstart (1)
- Vi (2)
- VirtualBox (2)
- Virtualization (1)
- vkontakte.ru (1)
- Web (2)
- Web-Kit (5)
- WinAPI (7)
- Windows (4)
четверг, 30 декабря 2010 г.
GTK в Eclipse.
2.В запущенном Eclipse
- выбираем help/install new software../
- выбираем work with: update site
- в появившемся списке ищем programming languages/eclipse c/c++
3.В запущенном eclipse
- создаем проект с++
- в окне настройки конфигураций нажимаем advanced settings
- в появившемся окне настроек
пишем
во вкладке c/c++ build/settings/compiler/miscellaneous
all options: -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/webkit-1.0/webkit -O0 -g3 -Wall -c -fmessage-length=0 `pkg-config --cflags gtk+-2.0 webkit-1.0`
во вкладке c/c++ build/settings/linker/miscellaneous
linker flags: `pkg-config --libs gtk+-2.0 webkit-1.0 --libs`
во вкладке: c/c++ general/paths and symbols/includes нажимаем add..
и указываем пути:
/usr/include/gtk-2.0
/usr/lib/gtk-2.0/include
/usr/include/webkit-1.0/webkit
если вы забыли ввести какие-то параметры то в это меню можно попасть нажав правую кнопку мыши на проекте и выбрав properties.
4. пишем тестовое приложение и нажимаем run
источник1
источник2
источник3
источник4
GTK и WebKit.
C++:
#include |
#include |
int main(int argc, char *argv[]) { |
GtkWidget *window; |
GtkWidget *swindow; |
static WebKitWebView *browser; |
gtk_init(&argc, &argv); |
if (!g_thread_supported()) |
g_thread_init(NULL); |
window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
swindow = gtk_scrolled_window_new(NULL, NULL); |
browser = WEBKIT_WEB_VIEW(webkit_web_view_new()); |
gtk_container_add(GTK_CONTAINER(swindow), GTK_WIDGET(browser)); |
gtk_container_add(GTK_CONTAINER(window), swindow); |
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(browser), "http://google.com"); |
gtk_window_set_default_size(GTK_WINDOW(window), 800,600); |
gtk_widget_show_all(window); |
gtk_main(); |
return 0; |
} |
cat Makefile |
all: |
gcc -Wall -g -c main.c `pkg-config gtk+-2.0 webkit-1.0 --cflags` |
gcc -Wall main.o `pkg-config gtk+-2.0 webkit-1.0 --libs` |
Использование WebKit в Eclipse Helios.
-Dorg.eclipse.swt.browser.UseWebKitGTK=true нужно вставить в файл /etc/eclipse.ini. НО у меня ничего не получилось.
Browser.getBrowserType() возвращает mozilla.
среда, 29 декабря 2010 г.
вторник, 28 декабря 2010 г.
понедельник, 27 декабря 2010 г.
Передача данных в html-файл.
Передачу данных в html-файл можно произвести через URL-адрес. После адреса ставиться знак вопроса и после него параметр, который Вы хотите передать. Если этих параметров несколько, то между ними ставиться амперсанд (&).
Пример 1:
"youfile.html?parametr"
Пример 2:
"youfile.html?parametr1¶metr2¶metr3"
Также данные можно передавать при помощи форм. Для этого надо воспользоваться методом GET.
Вот как буде выглядеть URL-адрес в строке броузера:
Пример:
"youfile.html?name1=value1&name2=value2&name3=value3"
Получение переданных данных:
Получение переданных данных выполняется при помощи JavaScript.
Сначало мы присваиваем переменной все то, что находится после знака вопроса:
var p_url=location.search.substring(1);
Если Вы передавали один параметр, то переменную p_url можно обрабатывать.
Если параметров было много, то их надо разделить:
var parametr=p_url.split("&");
У нас получился массив parametr, который содержит полученные данные.
Если Вы пересылали данные при помощи форм, то надо избавиться от знака равенства и присвоить каждой переменной свое значение:
var values= new Array();
for(i in parametr) {
var j=parametr[i].split("=");
values[j[0]]=unescape(j[1]);
}
Пример:
Если строка была:
"youfile.html?name=Serg&city=Рязань&age=21"
то получим массив:
values[name]="Serg";
values[city]="Рязань";
values[age]="21";
или можно так:
values[0]="Serg";
values[1]="Рязань";
values[2]="21";
Источник.
Запуск Flash в Qt.
view = new QWebView(this);
//задаем его размеры
view->setGeometry(10,10,100,100);
//устанавливаем аттрибуты для JavaScript
view->page()->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);
//устанавливаем аттрибуты для Plugin ов в том числе и Flash
view->page()->settings()->setAttribute(QWebSettings::PluginsEnabled,true);
//задаем адрес страницы
QUrl url("http://www.yandex.ru/");
//загружаем страницу
view->load(url);
//отображаем
view->show();
обсуждение тут
link
пятница, 24 декабря 2010 г.
jQuery и совсем не обычные select'ы в IE
Решил наваять маленькую заметочку — вдруг кому поможет .
Итак, у меня в проекте стояла задача запрограммировать умные, специфические вложенные селекты, с неограниченной вложенностью. Суть задачи в том, чтобы при выборе первого селекта проверялось наличие дочерних элементов дерева Nested Sets и если они есть, то выезжает следующий селект, получает данные с сервера и добавляет новые option.
Так вот, сделал. Запрограммировал кучу разных умных и удобных вещей, сижу себе довольный и офигеть как горжусь собой (действительно очень удобно пользоваться такими селектами, отлично вышло). Потом открываю IE и мой фэйс трижды сменил цвет
Прикиньте, вместо того, чтобы были надписи в селектах внутри был просто белый фон! Т.е. список есть, он раскрывается, но ты не видишь, что выбираешь. В ход пошел Firebag, но все было тщетно - логика работала как часы. Все было просто прелестно во всех браузерах кроме моего любимого IE. Несколько раз за эти 2 недели возвращался до этого вопроса и никак не мог понять, почему фон шрифта в селекте стал белым и не меняется (это я раньше так думал)?
Но сегодня на меня нашло прозрение: решил просто скинуть в обычный alert html() селекта. Посмотрел в лисе — все отлично и соответствует нормам. Посмотрел в IE, а там нету самих названий элементов — он их не добавляет. Пришлось лезть в код, вот:
- data = $.parseJSON(data);
- for (key in data) $(target).append(new Option(data[key],key));
Так я создавал новые элементы селекта. Как выявилось Эксплуататор неверно воспринимает мои указания кодом. Пришлось немного потанцевать с бубном и решение нашлось:
- data = $.parseJSON(data);
- for (key in data) $(target).append("+data[key]+"' value='"+key+"'>"+data[key]+""); // fixed IE bug
Работает во всех браузерах. Думаю, кому-то помог
Аналог foreach в javascript
В PHP конструкция foreach - это очень удобный инструмент для обхода элементов массива.В бою на самом деле используеться этот оператор следующим образом:
1 | foreach ( $some_array as $key => $val ) { |
2 | echo $key , ' = ' , $val , '' ; |
3 | } |
Опять таки по велению случая, мне было необходимо использовать ее аналог в JavaScript. Соответствующий вариант использования аналогичной конструкции в JavaScript`е представлен ниже:
1 | for ( var key in some_array) { |
2 | var val = some_array [key]; |
3 | alert (key+ ' = ' +val); |
4 | Источник |
четверг, 2 декабря 2010 г.
Автотонкости
2.Если фура поворачивает, лучше ее не обгонять. Т.к. при повороте фура может сместиться со своей полосы из-за своих размеров.
3.Зимой лучше не ставить автомобиль на ручной тормоз т.к. он может примерзнуть.