Exemple #1
0
USBDB::USBDB() {
	QString db = "/usr/share/hwdata/usb.ids"; /* on Fedora */
	if (!QFile::exists(db))
		db = KStandardDirs::locate("data", "kcmusb/usb.ids");
	if (db.isEmpty())
		return;

	QFile f(db);

	if (f.open(QIODevice::ReadOnly)) {
		QTextStream ts(&f);
		ts.setCodec("UTF-8");

		QString line, name;
		int id=0, subid=0, protid=0;
		QRegExp vendor("[0-9a-fA-F]+ ");
		QRegExp product("\\s+[0-9a-fA-F]+ ");
		QRegExp cls("C [0-9a-fA-F][0-9a-fA-F]");
		QRegExp subclass("\\s+[0-9a-fA-F][0-9a-fA-F]  ");
		QRegExp prot("\\s+[0-9a-fA-F][0-9a-fA-F]  ");
		while (!ts.atEnd()) {
			line = ts.readLine();
			if (line.left(1) == "#" || line.trimmed().isEmpty())
				continue;

			// skip AT lines
			if (line.left(2) == "AT")
				continue;

			if (cls.indexIn(line) == 0 && cls.matchedLength() == 4) {
				id = line.mid(2,2).toInt(0, 16);
				name = line.mid(4).trimmed();
				_classes.insert(QString("%1").arg(id), name);
			} else if (prot.indexIn(line) == 0 && prot.matchedLength() > 5) {
				line = line.trimmed();
				protid = line.left(2).toInt(0, 16);
				name = line.mid(4).trimmed();
				_classes.insert(QString("%1-%2-%3").arg(id).arg(subid).arg(protid), name);
			} else if (subclass.indexIn(line) == 0 && subclass.matchedLength() > 4) {
				line = line.trimmed();
				subid = line.left(2).toInt(0, 16);
				name = line.mid(4).trimmed();
				_classes.insert(QString("%1-%2").arg(id).arg(subid), name);
			} else if (vendor.indexIn(line) == 0 && vendor.matchedLength() == 5) {
				id = line.left(4).toInt(0, 16);
				name = line.mid(6);
				_ids.insert(QString("%1").arg(id), name);
			} else if (product.indexIn(line) == 0 && product.matchedLength() > 5) {
				line = line.trimmed();
				subid = line.left(4).toInt(0, 16);
				name = line.mid(6);
				_ids.insert(QString("%1-%2").arg(id).arg(subid), name);
			}

		}

		f.close();
	}
}
Exemple #2
0
static bool subclass(java_lang_Class *cls1, java_lang_Class *cls2)
{
	if (cls1 == cls2)
		return true;
	/* check interfaces */
	for (int i = 0; i < cls1->interface_count; ++i) {
		java_lang_Class *iface = cls1->interfaces[i];
		if (subclass(iface, cls2))
			return true;
	}
	/* check superclass */
	java_lang_Class *super = cls1->superclass;
	if (super != NULL)
		return subclass(super, cls2);
	else
		return false;
}
Exemple #3
0
void App::wm_create(HWND *window){
	hwnd = *window;
	//kontrolki
	hctrl[0]=CreateWindowEx(WS_EX_CLIENTEDGE,WC_EDIT,"",WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL,0,20,window_w,20,hwnd,0,*hInst,0); //wiersz poleceñ
	hctrl[1]=CreateWindowEx(0,WC_STATIC,"",WS_CHILD|WS_VISIBLE|SS_CENTER|SS_CENTERIMAGE,0,0,window_w,20,hwnd,0,*hInst,0); //konsola
	hctrl[2]=CreateWindowEx(0,WC_BUTTON,"Przechwytywanie klawiszy [F11]",WS_CHILD|WS_VISIBLE|BS_CHECKBOX,25,40,180,20,hwnd,(HMENU)1,*hInst,0);
	//groupbox1
	hctrl[3]=CreateWindowEx(0,WC_BUTTON,"Akordy",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,10,60,window_w-20,150,hwnd,(HMENU)0,*hInst,0);
	for(int i=0; i<12; i++){
		hctrl[4+i]=CreateWindowEx(0,WC_BUTTON,"",WS_CHILD|WS_VISIBLE,20+(i%3)*60,80+(i/3)*30,60,30,hwnd,(HMENU)(2+i),*hInst,0);
	}
	//groupbox2
	hctrl[16]=CreateWindowEx(0,WC_BUTTON,"Rodzaj akordu",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,10,215,window_w-20,140,hwnd,(HMENU)0,*hInst,0);
	hctrl[17]=CreateWindowEx(0,WC_BUTTON,"Pojedynczy dŸwiêk",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,30,230,160,20,hwnd,(HMENU)14,*hInst,0);
	hctrl[18]=CreateWindowEx(0,WC_BUTTON,"Power chord",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,30,250,160,20,hwnd,(HMENU)15,*hInst,0);
	hctrl[19]=CreateWindowEx(0,WC_BUTTON,"Akord molowy",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,30,270,160,20,hwnd,(HMENU)16,*hInst,0);
	hctrl[20]=CreateWindowEx(0,WC_BUTTON,"Akord durowy",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,30,290,160,20,hwnd,(HMENU)17,*hInst,0);
	hctrl[21]=CreateWindowEx(0,WC_BUTTON,"Akord molowy septymowy",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,30,310,160,20,hwnd,(HMENU)18,*hInst,0);
	hctrl[22]=CreateWindowEx(0,WC_BUTTON,"Akord durowy septymowy",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,30,330,160,20,hwnd,(HMENU)19,*hInst,0);
	//kapodaster
	hctrl[23]=CreateWindowEx(0,WC_STATIC,"Kapodaster",WS_CHILD|WS_VISIBLE|SS_CENTER|SS_CENTERIMAGE,55,360,110,25,hwnd,0,*hInst,0);
	hctrl[24]=CreateWindowEx(0,WC_BUTTON,"-1",WS_CHILD|WS_VISIBLE,30,360,25,25,hwnd,(HMENU)20,*hInst,0);
	hctrl[25]=CreateWindowEx(0,WC_BUTTON,"+1",WS_CHILD|WS_VISIBLE,165,360,25,25,hwnd,(HMENU)21,*hInst,0);
	hctrl[26]=CreateWindowEx(0,WC_BUTTON,"-12",WS_CHILD|WS_VISIBLE,5,360,25,25,hwnd,(HMENU)22,*hInst,0);
	hctrl[27]=CreateWindowEx(0,WC_BUTTON,"+12",WS_CHILD|WS_VISIBLE,190,360,25,25,hwnd,(HMENU)23,*hInst,0);
	//g³oœnoœæ
	hctrl[28]=CreateWindowEx(0,WC_STATIC,"G³oœnoœæ",WS_CHILD|WS_VISIBLE|SS_CENTER|SS_CENTERIMAGE,60,390,100,25,hwnd,0,*hInst,0);
	hctrl[29]=CreateWindowEx(0,WC_BUTTON,"-",WS_CHILD|WS_VISIBLE,30,390,25,25,hwnd,(HMENU)24,*hInst,0);
	hctrl[30]=CreateWindowEx(0,WC_BUTTON,"+",WS_CHILD|WS_VISIBLE,165,390,25,25,hwnd,(HMENU)25,*hInst,0);
	//haki
	hExe = GetModuleHandle(NULL);
	hHookkb = SetWindowsHookEx(WH_KEYBOARD_LL, hpkb, hExe, 0);
	//ustawienia
	load_config();
	//ustawienia pocz¹tkowe
	checkbox1_click(1);
	radiobutton1_click(2);
	kapodaster=0;
	capo_add(0);
	volume=100;
	volume_add(0);
	//czcionki
	fontsize=13;
	fontface="MS Shell Dlg 2";
	for(int i=0; i<ctrls_num; i++){
		change_font(hctrl[i]);
	}
	SetFocus(hctrl[0]);
	//subclassing
	subclass(0);
	//midi init
	midi_device=midi_init();
	echo("wersja "+version);
}
Exemple #4
0
GhostTrap::GhostTrap(Math::Point pos, Pointer<Entity> parent, QString name)
	:	LimitedLifetimeTrigger(parent, 20.0, name),
		mDetonated(false),
		mKillTimer(0),
		mKillCount(0)
{
	subclass();

	setPos(pos);
	setTriggerRegion(new TriggerRegionCircle(pos, 7));
	mView = new CircleView(pointer(), 7, Qt::darkGreen, 0.5);
	setView(mView);
	setVisible(true);
}
Exemple #5
0
Ghost::Ghost(Math::Point pos, Pointer<Entity> parent, QString name)
	:	Actor(parent, name),
		mKillCount(0)
{
	subclass();

	setPos(pos);
	setMaxSpeed(9.0);

	mPursue = new Pursue(pointer());
	mWander = new Wander(pointer());
	addSteeringBehavior(mPursue);
	addSteeringBehavior(mWander);

	PersonView* view = new PersonView(pointer(), Qt::green);
	//view->setColor(Qt::green); // HULK SMASH!  -- 20070108 iank
	setView(view);
	setVisible(true);

	newTarget();
}
Exemple #6
0
USBDB::USBDB()
{
#ifndef USBIDS_FILE
    QString db = "/usr/share/hwdata/usb.ids"; /* on Fedora */
    if (!QFile::exists(db))
        db = locate("data", "kcmusb/usb.ids");
#else
    QString db = USBIDS_FILE;
#endif
    if (db.isEmpty())
        return;

    _classes.setAutoDelete(true);
    _ids.setAutoDelete(true);

    QFile f(db);

    if (f.open(IO_ReadOnly))
    {
        QTextStream ts(&f);

        QString line, name;
        int id=0, subid=0, protid=0;
        QRegExp vendor("[0-9a-fA-F]+ ");
        QRegExp product("\\s+[0-9a-fA-F]+ ");
        QRegExp cls("C [0-9a-fA-F][0-9a-fA-F]");
        QRegExp subclass("\\s+[0-9a-fA-F][0-9a-fA-F]  ");
        QRegExp prot("\\s+[0-9a-fA-F][0-9a-fA-F]  ");
        while (!ts.eof())
        {
            line = ts.readLine();
            if (line.left(1) == "#" || line.stripWhiteSpace().isEmpty())
                continue;

            // skip AT lines
            if (line.left(2) == "AT")
                continue;

            if (cls.search(line) == 0 && cls.matchedLength() == 4)
            {
                id = line.mid(2,2).toInt(0, 16);
                name = line.mid(4).stripWhiteSpace();
                _classes.insert(QString("%1").arg(id), new QString(name));
            }
            else if (prot.search(line) == 0 && prot.matchedLength() > 5)
            {
                line = line.stripWhiteSpace();
                protid = line.left(2).toInt(0, 16);
                name = line.mid(4).stripWhiteSpace();
                _classes.insert(QString("%1-%2-%3").arg(id).arg(subid).arg(protid), new QString(name));
            }
            else if (subclass.search(line) == 0 && subclass.matchedLength() > 4)
            {
                line = line.stripWhiteSpace();
                subid = line.left(2).toInt(0, 16);
                name = line.mid(4).stripWhiteSpace();
                _classes.insert(QString("%1-%2").arg(id).arg(subid), new QString(name));
            }
            else if (vendor.search(line) == 0 && vendor.matchedLength() == 5)
            {
                id = line.left(4).toInt(0,16);
                name = line.mid(6);
                _ids.insert(QString("%1").arg(id), new QString(name));
            }
            else if (product.search(line) == 0 && product.matchedLength() > 5 )
            {
                line = line.stripWhiteSpace();
                subid = line.left(4).toInt(0,16);
                name = line.mid(6);
                _ids.insert(QString("%1-%2").arg(id).arg(subid), new QString(name));
            }

        }

        f.close();
    }
}
Exemple #7
0
void App::subclass(string name){
    subclass(Controls::geti()->find_control(name));
}
Exemple #8
0
void App::event_init(HWND *window){
	main_window = *window;
    //parametry
	IO::geti()->get_args();
	//katalog roboczy
	set_workdir();
	//ustawienia
    Config::geti()->load_from_file();
    //jeœli aplikacja jest ju¿ uruchomiona
    if(IO::geti()->args.size()==2 && instancja2!=NULL){//jeden dodatkowy parametr - nazwa pliku do otwarcia
        IO::geti()->log("Wysy³anie pliku do otwartej instancji aplikacji...");
        for(unsigned int i=0; i<IO::geti()->args.at(1).length(); i++){
            SendMessage(instancja2, 0x0319, 69, (char)IO::geti()->args.at(1)[i]);
        }
        SendMessage(instancja2, 0x0319, 69, 0);
        IO::geti()->log("Zamykanie zbêdnej instancji aplikacji...");
        //SendMessage(main_window, WM_DESTROY, 0, 0);
        DestroyWindow(main_window);
        return;
    }
    //log
    if(Config::geti()->log_enabled){
        IO::geti()->clear_log();
    }
	//kontrolki
    IO::geti()->log("Tworzenie kontrolek...");
    Controls::geti()->create_static_center("Plik:", 0, 0, 0, 0, "filename");
    Controls::geti()->create_edit("", 0, 0, 0, 0, "filename_edit");

    Controls::geti()->create_edit_center(Config::i()->find_edit_placeholder, 0, 0, 0, 0, "find_edit");
    Controls::geti()->create_edit_center(Config::i()->replace_edit_placeholder, 0, 0, 0, 0, "replace_edit");
    Controls::geti()->create_edit_center("", 0, 0, 0, 0, "autoscroll_interval");
    Controls::geti()->create_edit_center("", 0, 0, 0, 0, "autoscroll_wait");
    Controls::geti()->create_button("Autoscroll: off", 0, 0, 0, 0, "autoscroll");
    Controls::geti()->create_button("Analizuj", 0, 0, 0, 0, "analyze");

    for(int i=0; i<Config::geti()->cmd_outputs_num; i++){
        stringstream ss;
        ss<<"cmd_output"<<i+1;
        Controls::geti()->create_static_center("", 0, 0, 0, 0, ss.str());
    }
    Controls::geti()->create_edit("", 0, 0, 0, 0, "cmd");
	//edytor
    IO::geti()->log("Tworzenie edytora tekstu...");
	if(LoadLibrary("RICHED32.DLL")==NULL){
		IO::geti()->critical_error("B³¹d: brak biblioteki RICHED32.DLL");
		return;
	}
    HWND editor_handle = CreateWindowEx(WS_EX_CLIENTEDGE, RICHEDIT_CLASS, "", WS_CHILD|WS_VISIBLE|WS_VSCROLL|ES_MULTILINE|ES_DISABLENOSCROLL, 0, 0, 0, 0, main_window, (HMENU)100, *hInst, 0);
    Controls::geti()->controls.push_back(new Control(editor_handle, "editor"));
    //tworzenie menu
    IO::geti()->log("Tworzenie menu...");
    Menu* menu_plik = new Menu();
    menu_plik->add_option("Nowy [Ctrl + N]", "new");
    menu_plik->add_separator();
    menu_plik->add_option("Otwórz", "load");
    menu_plik->add_option("Prze³aduj", "reload");
    menu_plik->add_option("Zapisz [Ctrl + S]", "save");
    menu_plik->add_separator();
    menu_plik->add_option("Baza akordów [Ctrl + B]", "base");
    menu_plik->add_separator();
    menu_plik->add_option("Zakoñcz", "exit");
    Menu* menu_edycja = new Menu();
    menu_edycja->add_option("Analizuj i napraw", "analyze");
    menu_edycja->add_separator();
    menu_edycja->add_option("Cofnij [Ctrl + Z]", "undo");
    menu_edycja->add_option("Szukaj [Ctrl + F]", "find");
    menu_edycja->add_option("Zamieñ", "replace");
    menu_edycja->add_option("Szybka zamiana tekstu [Ctrl + T]", "quick_replace");
    menu_edycja->add_separator();
    menu_edycja->add_option("Utwórz akord z zaznaczenia [Ctrl + D]", "add_chord");
    menu_edycja->add_option("Usuñ akordy [Ctrl + Q]", "remove_chords");
    menu_edycja->add_option("Usuñ alternatywne wersje akordów", "remove_alt");
    menu_edycja->add_separator();
    menu_edycja->add_option("Zapisz schemat akordów [Ctrl + W]", "save_pattern");
    menu_edycja->add_option("Wstaw schemat akordów [Ctrl + E]", "insert_pattern");
    Menu* menu_widok = new Menu();
    menu_widok->add_option("Zwiêksz czcionkê [Ctrl +]", "font++");
    menu_widok->add_option("Zmniejsz czcionkê [Ctrl -]", "font--");
    menu_widok->add_separator();
    menu_widok->add_option("Formatuj tekst [Ctrl + R]", "format_text");
    menu_widok->add_option("Przewiñ na pocz¹tek [F1]", "scroll_to_begin");
    menu_widok->add_option("Przewiñ na koniec", "scroll_to_end");
    menu_widok->add_separator();
    menu_widok->add_option("Pe³ny ekran [F10, F11]", "fullscreen");
    Menu* menu_autoscroll = new Menu();
    menu_autoscroll->add_option("W³¹cz z opóŸnieniem [F7]", "autoscroll_wait");
    menu_autoscroll->add_option("W³¹cz bez opóŸnienia [F8]", "autoscroll_nowait");
    menu_autoscroll->add_option("Wy³¹cz", "autoscroll_off");
    menu_autoscroll->add_separator();
    menu_autoscroll->add_option("Zwolnij przewijanie [F5]", "autoscroll_slower");
    menu_autoscroll->add_option("Przyspiesz przewijanie [F6]", "autoscroll_faster");
    Menu* menu_transpozycja = new Menu();
    menu_transpozycja->add_option("Transponuj 5 pó³tonów w górê", "transpose+5");
    menu_transpozycja->add_option("Transponuj 1 pó³ton w górê [Ctrl + prawo]", "transpose++");
    menu_transpozycja->add_separator();
    menu_transpozycja->add_option("Transponuj 1 pó³ton w dó³ [Ctrl + lewo]", "transpose--");
    menu_transpozycja->add_option("Transponuj 5 pó³tonów w dó³", "transpose-5");
    menu_transpozycja->add_separator();
    menu_transpozycja->add_option("Oryginalna tonacja [Ctrl + 0]", "transpose0");
    menu_transpozycja->add_separator();
    menu_transpozycja->add_option("Dodaj alternatywn¹ tonacjê", "alt");
    Menu* menu_ustawienia = new Menu();
    menu_ustawienia->add_option("Plik konfiguracyjny", "config");
    menu_ustawienia->add_option("Wiersz poleceñ [Ctrl + `]", "cmd_toggle");
    menu_ustawienia->add_option("Dziennik zdarzeñ", "log");
    menu_ustawienia->add_option("Skojarz pliki .crd z programem", "associate_files");
    Menu* menu_pomoc = new Menu();
    menu_pomoc->add_option("Polecenia i skróty klawiszowe", "help");
    menu_pomoc->add_option("O programie", "info");
    //g³ówny pasek menu
    Menu* menu_bar = new Menu();
    menu_bar->add_menu(menu_plik, "Plik");
    menu_bar->add_menu(menu_edycja, "Edycja");
    menu_bar->add_menu(menu_widok, "Widok");
    menu_bar->add_option("Pasek narzêdzi", "toolbar_toggle");
    menu_bar->add_menu(menu_autoscroll, "Autoscroll");
    menu_bar->add_menu(menu_transpozycja, "Transpozycja");
    menu_bar->add_menu(menu_ustawienia, "Ustawienia");
    menu_bar->add_menu(menu_pomoc, "Pomoc");
    SetMenu(main_window, menu_bar->handle);
    //autoscroll edits
    IO::geti()->log("Wype³nianie kontrolek, zmiana czcionek...");
    Controls::geti()->set_text("autoscroll_interval", Config::geti()->autoscroll_interval);
    Controls::geti()->set_text("autoscroll_wait", Config::geti()->autoscroll_wait);
    //czcionki
    controls_fonts_set();
	Controls::geti()->set_focus("editor");
	//subclassing
    IO::geti()->log("Subclassing...");
    for(unsigned int i=0; i<Controls::geti()->controls.size(); i++){
        subclass(Controls::geti()->controls.at(i));
    }
	//pasek schowany przy starcie
	if(!Config::geti()->toolbar_show){
		toolbar_switch(0);
	}
    //baza akordów na start (jeœli nie by³ otwierany wybrany plik)
    if(Config::geti()->chordsbase_on_startup && IO::geti()->args.size()<=1){
        chordsbase_start();
        SetForegroundWindow(main_window);
    }
	//okno na po³owie ekranu
	if(Config::geti()->halfscreen==1){
        IO::geti()->log("Rozmieszczanie okna na po³owie ekranu...");
        RECT workArea;
        SystemParametersInfo(SPI_GETWORKAREA, 0, &workArea, 0);
        int offset_x = - GetSystemMetrics(SM_CXSIZEFRAME);
        int w = (workArea.right - workArea.left) / 2 - offset_x*2;
        int h = workArea.bottom - workArea.top + GetSystemMetrics(SM_CYSIZEFRAME);
		SetWindowPos(main_window, HWND_TOP, workArea.left + offset_x, workArea.top, w, h, 0);
    }
    event_resize();
    //drag & drop
    IO::geti()->log("Uaktywanianie funkcji drag & drop...");
	DragAcceptFiles(main_window, true);
	Controls::geti()->set_text("editor", "");
	//wczytanie pliku zadanego parametrem
	if(IO::geti()->args.size()==2){ //jeden dodatkowy parametr - nazwa pliku do otwarcia
		open_chords_file(IO::geti()->args.at(1));
	}
	update_title();
    refresh_text();
	IO::geti()->echo("Gotów do pracy - wersja "+version);
}
Exemple #9
0
jboolean _Jv_IsInstanceOf(jobject obj, java_lang_Class *cls)
{
	if (obj == NULL)
		return true;
	return subclass(obj->vptr->rtti, cls);
}