コード例 #1
0
ファイル: clientserver.cpp プロジェクト: ktns/avogadrolibs
void ClientServer::onFinished(int result)
{
    FileDialog *dialog = qobject_cast<FileDialog*>(sender());

    if (dialog)
        dialog->deleteLater();
}
コード例 #2
0
ファイル: clientserver.cpp プロジェクト: ktns/avogadrolibs
void ClientServer::handleFileFormatsResponse(FileFormats *response)
{
    QSettings settings;

    QStringList filters;
    for (int i=0; i<response->formats_size(); i++)
    {
        FileFormat format = response->formats(i);
        QString filter = tr("%1 (").arg(QString::fromStdString(format.name()));
        for (int j=0; j<format.extension_size(); j++)
        {
            filter += tr("*.%1").arg(QString::fromStdString(format.extension(j)));

            if (j != format.extension_size()-1)
                filter += " ";
        }

        filter += ")";
        filters << filter;
    }

    qDebug() << filters.join(";;");

    QString dir = settings.value(lastOpenDirSettingPath()).toString();
    FileDialog *remoteFileDialog = new FileDialog(m_channel, NULL,
            QString("Remote File Dialog"), dir, filters.join(";;"));

    connect(remoteFileDialog, SIGNAL(accepted()), this, SLOT(onAccepted()));
    connect(remoteFileDialog, SIGNAL(finished(int)), this, SLOT(onFinished(int)));

    remoteFileDialog->show();

    delete response;
}
コード例 #3
0
//! The write filename callback
void FileDialog::writeFilename(GuiElement* elem){
  FileDialog* dia = dynamic_cast<FileDialog*>(elem->getParent());
  InputField* inp = dynamic_cast<InputField*>(dia->getElement(2));
  ListBox* files = dynamic_cast<ListBox*>(dia->getElement(1));
  string file = files->selectedItem();
  inp->setText(file);
}
コード例 #4
0
ファイル: project_manager.cpp プロジェクト: 0871087123/godot
	NewProjectDialog() {


		VBoxContainer *vb = memnew( VBoxContainer );
		add_child(vb);
		set_child_rect(vb);

		Label* l = memnew(Label);
		l->set_text("Project Path:");
		vb->add_child(l);
		pp=l;

		project_path = memnew( LineEdit );
		MarginContainer *mc = memnew( MarginContainer );
		vb->add_child(mc);
		HBoxContainer *pphb = memnew( HBoxContainer );
		mc->add_child(pphb);
		pphb->add_child(project_path);
		project_path->set_h_size_flags(SIZE_EXPAND_FILL);

		Button* browse = memnew( Button );
		pphb->add_child(browse);
		browse->set_text("Browse");
		browse->connect("pressed", this,"_browse_path");

		l = memnew(Label);
		l->set_text("Project Name:");
		l->set_pos(Point2(5,50));
		vb->add_child(l);
		pn=l;

		project_name = memnew( LineEdit );
		mc = memnew( MarginContainer );
		vb->add_child(mc);
		mc->add_child(project_name);
		project_name->set_text("New Game Project");


		l = memnew(Label);
		l->set_text("That's a BINGO!");
		vb->add_child(l);
		error=l;
		l->add_color_override("font_color",Color(1,0.4,0.3,0.8));
		l->set_align(Label::ALIGN_CENTER);

		get_ok()->set_text("Create");
		DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
		project_path->set_text(d->get_current_dir());
		memdelete(d);

		fdialog = memnew( FileDialog );
		add_child(fdialog);
		fdialog->set_access(FileDialog::ACCESS_FILESYSTEM);
		project_name->connect("text_changed", this,"_text_changed");
		project_path->connect("text_changed", this,"_path_text_changed");
		fdialog->connect("dir_selected", this,"_path_selected");
		fdialog->connect("file_selected", this,"_file_selected");
		set_hide_on_ok(false);
		import_mode=false;
	}
コード例 #5
0
void MainWindow::on_newPrintBtn_clicked()
{
  DeviceDialog deviceDialog;
  FigureDialog figureDialog;
  FileDialog fileDialog;

  deviceDialog.setModal(true);
  deviceDialog.exec();

  switch (deviceDialog.btnNumber)
  {
    case 0:
      break;
    case 1:
          figureDialog.setModal(true);
          figureDialog.exec();
      break;
    case 2:
          fileDialog.setModal(true);
          fileDialog.exec();
      break;
    default:
      break;
  }
}
コード例 #6
0
void EditorSceneImportDialog::_notification(int p_what) {


	if (p_what==NOTIFICATION_ENTER_SCENE) {


		List<String> extensions;
		file_select->clear_filters();

		for(int i=0;i<plugin->get_importers().size();i++) {
			plugin->get_importers()[i]->get_extensions(&extensions);
		}


		for(int i=0;i<extensions.size();i++) {

			file_select->add_filter("*."+extensions[i]+" ; "+extensions[i].to_upper());
		}

		extensions.clear();

		//EditorImport::get_import_extensions(&extensions)
	/*	ResourceLoader::get_recognized_extensions_for_type("PackedScene",&extensions);
		save_select->clear_filters();
		for(int i=0;i<extensions.size();i++) {

			save_select->add_filter("*."+extensions[i]+" ; "+extensions[i].to_upper());
		}*/


	}
}
コード例 #7
0
ファイル: FileDialog.cpp プロジェクト: talentlesshack/C2P2
void FileDialog::CancelCallback(aui_Control *control, uint32 action, uint32 data, void *cookie)
{
	if(action != AUI_BUTTON_ACTION_EXECUTE) return;
	FileDialog *di = (FileDialog *)cookie;
	if(di->m_callback) {
		di->m_callback(di, k_FILE_DIALOG_CANCEL, NULL, di->m_cookie);
	}
	di->Close();
				   
}
コード例 #8
0
ファイル: FileDialog.cpp プロジェクト: talentlesshack/C2P2
void FileDialog::SaveCallback(aui_Control *control, uint32 action, uint32 data, void *cookie)
{
	if(action != AUI_BUTTON_ACTION_EXECUTE) return;
	FileDialog *di = (FileDialog *)cookie;
	if(di->m_callback) {
		MBCHAR full[_MAX_PATH];
		sprintf(full, "%s%s%s", di->m_dirPath, FILE_SEP, di->GetSelectedFile());
		di->m_callback(di, k_FILE_DIALOG_SAVE, full, di->m_cookie);
	}
	di->Close();
}
コード例 #9
0
ファイル: clientserver.cpp プロジェクト: ktns/avogadrolibs
void ClientServer::onAccepted()
{
    FileDialog *dialog = qobject_cast<FileDialog*>(sender());

    if (!dialog)
        return;

    QString file = dialog->getSelectedFile();

    if (!file.isEmpty())
        openFile(file);
}
コード例 #10
0
ファイル: project_manager.cpp プロジェクト: 0871087123/godot
	void _browse_path() {

		if (import_mode) {

			fdialog->set_mode(FileDialog::MODE_OPEN_FILE);
			fdialog->clear_filters();
			fdialog->add_filter("engine.cfg ; "_MKSTR(VERSION_NAME)" Project");
		} else {
			fdialog->set_mode(FileDialog::MODE_OPEN_DIR);
		}
		fdialog->popup_centered_ratio();
	}
コード例 #11
0
ファイル: filedialog.cpp プロジェクト: niconil/actionaz
	QScriptValue FileDialog::constructor(QScriptContext *context, QScriptEngine *engine)
	{
		FileDialog *fileDialog = new FileDialog;
		fileDialog->setupConstructorParameters(context, engine, context->argument(0));

		QScriptValueIterator it(context->argument(0));

		while(it.hasNext())
		{
			it.next();
			
			if(it.name() == "acceptMode")
				fileDialog->mFileDialog->setAcceptMode(static_cast<QFileDialog::AcceptMode>(it.value().toInt32()));
			else if(it.name() == "fileMode")
				fileDialog->mFileDialog->setFileMode(static_cast<QFileDialog::FileMode>(it.value().toInt32()));
			else if(it.name() == "viewMode")
				fileDialog->mFileDialog->setViewMode(static_cast<QFileDialog::ViewMode>(it.value().toInt32()));
			else if(it.name() == "selectedFile")
				fileDialog->mFileDialog->selectFile(it.value().toString());
			else if(it.name() == "selectedNameFilter")
				fileDialog->mFileDialog->selectNameFilter(it.value().toString());
			else if(it.name() == "defaultSuffix")
				fileDialog->mFileDialog->setDefaultSuffix(it.value().toString());
			else if(it.name() == "directory")
				fileDialog->mFileDialog->setDirectory(it.value().toString());
			else if(it.name() == "filter")
				fileDialog->mFileDialog->setFilter(static_cast<QDir::Filter>(it.value().toInt32()));
			else if(it.name() == "nameFilter")
				fileDialog->mFileDialog->setNameFilter(it.value().toString());
			else if(it.name() == "nameFilters")
				fileDialog->mFileDialog->setNameFilters(arrayParameterToStringList(it.value()));
			else if(it.name() == "showDirectoriesOnly")
				fileDialog->mFileDialog->setOption(QFileDialog::ShowDirsOnly, it.value().toBool());
			else if(it.name() == "dontResolveSymlinks")
				fileDialog->mFileDialog->setOption(QFileDialog::DontResolveSymlinks, it.value().toBool());
			else if(it.name() == "dontConfirmOverwrite")
				fileDialog->mFileDialog->setOption(QFileDialog::DontConfirmOverwrite, it.value().toBool());
			else if(it.name() == "dontUseNativeDialog")
				fileDialog->mFileDialog->setOption(QFileDialog::DontUseNativeDialog, it.value().toBool());
			else if(it.name() == "readOnly")
				fileDialog->mFileDialog->setOption(QFileDialog::ReadOnly, it.value().toBool());
			else if(it.name() == "hideNameFilterDetails")
				fileDialog->mFileDialog->setOption(QFileDialog::HideNameFilterDetails, it.value().toBool());
			else if(it.name() == "sidebarUrls")
			{
				QList<QUrl> urls;
				
				foreach(const QString &url, arrayParameterToStringList(it.value()))
					urls.append(QUrl::fromLocalFile(url));
					
				fileDialog->mFileDialog->setSidebarUrls(urls);
			}
			else if(it.name() == "onClosed")
コード例 #12
0
ファイル: materialeditor.cpp プロジェクト: sgynn/worldeditor
void MaterialEditor::browseTexture(gui::Button* b) {
	// Save which one
	selectTexture(b);
	m_browseTarget = m_selectedTexture;
	if(b->getName()[7] == 'n') m_browseTarget |= 0x100;

	// open file dialog
	FileDialog* d = m_gui->getWidget<FileDialog>("filedialog");
	d->eventConfirm.bind(this, &MaterialEditor::setTexture);
	d->setFilter("*.dds,*.png");
	d->setFileName("");
	d->showOpen();
}
コード例 #13
0
void CSelectPluginDlg::OnAddPlugin()
//----------------------------------
{
	FileDialog dlg = OpenFileDialog()
		.AllowMultiSelect()
		.DefaultExtension("dll")
		.ExtensionFilter("VST Plugins (*.dll)|*.dll||")
		.WorkingDirectory(TrackerSettings::Instance().PathPlugins.GetWorkingDir());
	if(!dlg.Show(this)) return;

	TrackerSettings::Instance().PathPlugins.SetWorkingDir(dlg.GetWorkingDirectory());

	CVstPluginManager *pManager = theApp.GetPluginManager();

	VSTPluginLib *plugLib = nullptr;
	bool update = false;

	const FileDialog::PathList &files = dlg.GetFilenames();
	for(size_t counter = 0; counter < files.size(); counter++)
	{
		if (pManager)
		{
			VSTPluginLib *lib = pManager->AddPlugin(files[counter], mpt::ustring(), false);
			if(lib != nullptr)
			{
				update = true;
				if(!VerifyPlug(lib, this))
				{
					pManager->RemovePlugin(lib);
				} else
				{
					plugLib = lib;

					// If this plugin was missing anywhere, try loading it
					ReloadMissingPlugins(lib);
				}
			}
		}
	}
	if(update)
	{
		// Force selection to last added plug.
		UpdatePluginsList(plugLib ? plugLib->pluginId2 : 0);
	} else
	{
		Reporting::Error("At least one selected file was not a valid VST Plugin.");
	}
}
コード例 #14
0
void EditorTextureImportDialog::_notification(int p_what) {


	if (p_what==NOTIFICATION_ENTER_SCENE) {


		List<String> extensions;
		ImageLoader::get_recognized_extensions(&extensions);
	//	ResourceLoader::get_recognized_extensions_for_type("PackedTexture",&extensions);
		file_select->clear_filters();
		for(int i=0;i<extensions.size();i++) {

			file_select->add_filter("*."+extensions[i]+" ; "+extensions[i].to_upper());
		}
	}
}
コード例 #15
0
void EditorTextureImportDialog::_browse_target() {

	if (atlas) {
		save_file_select->popup_centered_ratio();
	} else {
		save_select->popup_centered_ratio();
	}

}
コード例 #16
0
UINT_PTR CALLBACK FileDialog::OFNHookProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg)
    {
        case WM_INITDIALOG :
        {
			NppParameters *pNppParam = NppParameters::getInstance();
			int index = pNppParam->getFileSaveDlgFilterIndex();

			::SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)staticThis);
			hFileDlg = ::GetParent(hWnd);
			goToCenter(hFileDlg);

			if (index != -1)
			{
				HWND typeControl = ::GetDlgItem(hFileDlg, cmb1);
				::SendMessage(typeControl, CB_SETCURSEL, index, 0);
			}

			// Don't touch the following 3 lines, they are cursed !!!
			oldProc = (WNDPROC)::GetWindowLongPtr(hFileDlg, GWL_WNDPROC);
			if ((long)oldProc > 0)
				::SetWindowLongPtr(hFileDlg, GWLP_WNDPROC, (LONG_PTR)fileDlgProc);

			return FALSE;
		}

		default :
		{
			FileDialog *pFileDialog = reinterpret_cast<FileDialog *>(::GetWindowLongPtr(hWnd, GWL_USERDATA));
			if (!pFileDialog)
			{
				return FALSE;
			}
			return pFileDialog->run(hWnd, uMsg, wParam, lParam);
		}
    }
}
コード例 #17
0
ファイル: filedialog.cpp プロジェクト: SlavaHill/openmw
QString FileDialog::getExistingDirectory(QWidget *parent,
                                          const QString &caption,
                                          const QString &dir,
                                          Options options)
{
    // create a non-native file dialog
    FileDialog dialog;
    dialog.setFileMode(DirectoryOnly);
    dialog.setOptions(options & DontUseNativeDialog | ShowDirsOnly);

    if (!caption.isEmpty())
        dialog.setWindowTitle(caption);

    if (!dir.isEmpty())
    dialog.setDirectory(dir);

    if (dialog.exec() == QDialog::Accepted) {
        return dialog.selectedFiles().value(0);
    }
    return QString();
}
コード例 #18
0
void EditorSceneImportDialog::_browse() {

	file_select->popup_centered_ratio();
}
コード例 #19
0
ファイル: NppIO.cpp プロジェクト: Oldes/npp-community
int Notepad_plus::setFileOpenSaveDlgFilters(FileDialog & fDlg, int langType)
{
	NppParameters *pNppParam = NppParameters::getInstance();
	NppGUI & nppGUI = (NppGUI & )pNppParam->getNppGUI();

	int i = 0;
	Lang *l = NppParameters::getInstance()->getLangFromIndex(i++);

	int ltIndex = 0;
	bool ltFound = false;
	while (l)
	{
		LangType lid = l->getLangID();

		bool inExcludedList = false;

		for (size_t j = 0 ; j < nppGUI._excludedLangList.size() ; j++)
		{
			if (lid == nppGUI._excludedLangList[j]._langType)
			{
				inExcludedList = true;
				break;
			}
		}

		if (!inExcludedList)
		{
			const TCHAR *defList = l->getDefaultExtList();
			const TCHAR *userList = NULL;

			LexerStylerArray &lsa = (NppParameters::getInstance())->getLStylerArray();
			const TCHAR *lName = l->getLangName();
			LexerStyler *pLS = lsa.getLexerStylerByName(lName);

			if (pLS)
				userList = pLS->getLexerUserExt();

			generic_string list(TEXT(""));
			if (defList)
				list += defList;
			if (userList)
			{
				list += TEXT(" ");
				list += userList;
			}

			generic_string stringFilters = exts2Filters(list);
			const TCHAR *filters = stringFilters.c_str();
			if (filters[0])
			{
				fDlg.setExtsFilter(getLangDesc(lid, true).c_str(), filters);

				//
				// Get index of lang type to find
				//
				if (langType != -1 && !ltFound)
				{
					ltFound = langType == lid;
				}

				if (langType != -1 && !ltFound)
				{
					ltIndex++;
				}
			}
		}
		l = (NppParameters::getInstance())->getLangFromIndex(i++);
	}

	if (!ltFound)
		return -1;
	return ltIndex;
}
コード例 #20
0
void EditFile::showFiles()
{
    QString s = edtFile->text();
    if (bDirMode){
        if (bShowHidden) {
            FileDialog *dialog = new FileDialog(s, QString::null, topLevelWidget(), title);
#ifdef USE_KDE
            dialog->setMode(KFile::Directory | KFile::ExistingOnly);
#else
            dialog->setMode(QFileDialog::DirectoryOnly);
#endif
            dialog->setShowHiddenFiles(bShowHidden);
            if (dialog->exec() == QDialog::Accepted) {
                s = dialog->selectedFile();
            }
        } else {
            s = QFileDialog::getExistingDirectory(s, topLevelWidget(), title);
        }
    }else if (bMultiplyMode){
        QStringList lst = QFileDialog::getOpenFileNames(filter, QString::null, topLevelWidget());
        if ((lst.count() > 1) || ((lst.count() > 0) && (lst[0].find(' ') >= 0))){
            for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it){
                *it ='\"' + *it + '\"';
            }
        }
        s = lst.join(" ");
    }else{
        if (s.isEmpty()){
            s = startDir;
            if (!s.isEmpty())
                makedir(s);
        }
        if (createPreview){
            FileDialog *dlg = new FileDialog( s, filter, topLevelWidget(), title.isEmpty() ? i18n("Open") : title);
            if ( topLevelWidget()->icon() && !topLevelWidget()->icon()->isNull()){
                dlg->setIcon( *topLevelWidget()->icon() );
            }else if (qApp->mainWidget() && qApp->mainWidget()->icon() && !qApp->mainWidget()->icon()->isNull()){
                dlg->setIcon( *qApp->mainWidget()->icon() );
            }
            FilePreview *preview = createPreview(dlg);
#ifdef USE_KDE
            dlg->setOperationMode( KFileDialog::Opening);
            if (preview)
                dlg->setPreviewWidget(preview);
#else
            dlg->setMode( QFileDialog::ExistingFile );
            if (preview){
                dlg->setContentsPreview(preview, preview);
                dlg->setContentsPreviewEnabled(true);
                dlg->setPreviewMode(QFileDialog::Contents);
            }
#endif
            dlg->setFilter(filter);
            QString result;
            s = QString::null;
            if (dlg->exec() == QDialog::Accepted){
                s = dlg->selectedFile();
            }
            // under KDE 3.1x / QT 3.1x sim crashes when preview is deleted...
            //            delete preview;
#ifdef WIN32
            delete preview;
#endif
            delete dlg;
        }else{
#ifdef USE_KDE
            if (bCreate){
                if (title.isEmpty()){
                    s = QFileDialog::getSaveFileName(s, filter, topLevelWidget());
                }else{
                    s = QFileDialog::getSaveFileName(s, filter, topLevelWidget(), title);
                }
            }else{
                if (title.isEmpty()){
                    s = QFileDialog::getOpenFileName(s, filter, topLevelWidget());
                }else{
                    s = QFileDialog::getOpenFileName(s, filter, topLevelWidget(), title);
                }
            }
#else
            if (bCreate){
                s = QFileDialog::getSaveFileName(s, filter, topLevelWidget(), "filedialog", title);
            }else{
                s = QFileDialog::getOpenFileName(s, filter, topLevelWidget(), "filedialog", title);
            }
#endif
        }
    }
    if (s.length())
        edtFile->setText(QDir::convertSeparators(s));
}
コード例 #21
0
//! The save scene callback
void Menu::save(Gui::GuiElement* elem){
  FileDialog* fd = new FileDialog();
  fd->setCbFunc(saveScene);
  CGE::Engine::instance()->addGuiListener(fd);
}
コード例 #22
0
	void _browse() {

		file_select->popup_centered_ratio();
	}
コード例 #23
0
	EditorTranslationImportDialog(EditorTranslationImportPlugin *p_plugin) {

		plugin=p_plugin;


		set_title("Import Translation");

		VBoxContainer *vbc = memnew( VBoxContainer );
		add_child(vbc);
		set_child_rect(vbc);



		VBoxContainer *csvb = memnew( VBoxContainer );

		HBoxContainer *hbc = memnew( HBoxContainer );
		csvb->add_child(hbc);
		vbc->add_margin_child("Source CSV:",csvb);

		import_path = memnew( LineEdit );
		import_path->set_h_size_flags(SIZE_EXPAND_FILL);
		hbc->add_child(import_path);
		ignore_first = memnew( CheckButton );
		ignore_first->set_text("Ignore First Row");
		csvb->add_child(ignore_first);

		Button * import_choose = memnew( Button );
		import_choose->set_text(" .. ");
		hbc->add_child(import_choose);

		import_choose->connect("pressed", this,"_browse");

		VBoxContainer *tcomp = memnew( VBoxContainer);
		hbc = memnew( HBoxContainer );
		tcomp->add_child(hbc);
		vbc->add_margin_child("Target Path:",tcomp);

		save_path = memnew( LineEdit );
		save_path->set_h_size_flags(SIZE_EXPAND_FILL);
		hbc->add_child(save_path);

		Button * save_choose = memnew( Button );
		save_choose->set_text(" .. ");
		hbc->add_child(save_choose);

		save_choose->connect("pressed", this,"_browse_target");

		compress = memnew( CheckButton);
		compress->set_pressed(true);
		compress->set_text("Compress");
		tcomp->add_child(compress);

		add_to_project = memnew( CheckButton);
		add_to_project->set_pressed(true);
		add_to_project->set_text("Add to Project (engine.cfg)");
		tcomp->add_child(add_to_project);

		file_select = memnew(FileDialog);
		file_select->set_access(FileDialog::ACCESS_FILESYSTEM);
		add_child(file_select);
		file_select->set_mode(FileDialog::MODE_OPEN_FILE);
		file_select->connect("file_selected", this,"_choose_file");
		file_select->add_filter("*.csv ; Translation CSV");
		save_select = memnew(	EditorDirDialog );
		add_child(save_select);

	//	save_select->set_mode(FileDialog::MODE_OPEN_DIR);
		save_select->connect("dir_selected", this,"_choose_save_dir");

		get_ok()->connect("pressed", this,"_import");
		get_ok()->set_text("Import");


		error_dialog = memnew ( ConfirmationDialog );
		add_child(error_dialog);
		error_dialog->get_ok()->set_text("Accept");
	//	error_dialog->get_cancel()->hide();

		set_hide_on_ok(false);

		columns = memnew( Tree );
		vbc->add_margin_child("Import Languages:",columns,true);
	}
コード例 #24
0
UINT_PTR APIENTRY
FileDialogHookFunction(HWND      hDlg,
                       UINT      iMsg,
                       WPARAM    WXUNUSED(wParam),
                       LPARAM    lParam)
{
   HWND   hwndDialog;
   hwndDialog = ::GetParent( hDlg );
   switch (iMsg)
   {
      case WM_INITDIALOG:
      {
#ifdef _WIN64
         SetWindowLongPtr(hDlg, GWLP_USERDATA, lParam);
#else
         SetWindowLong(hDlg, GWL_USERDATA, lParam);
#endif
      }
      case WM_DESTROY:
      {
         RECT dlgRect;
         GetWindowRect( hwndDialog, & dlgRect );
         gs_rectDialog.x = dlgRect.left;
         gs_rectDialog.y = dlgRect.top;
         gs_rectDialog.width = dlgRect.right - dlgRect.left;
         gs_rectDialog.height = dlgRect.bottom - dlgRect.top;
         break;
      }
         
      case WM_NOTIFY:
      {
         OFNOTIFY *   pNotifyCode;
         pNotifyCode = (LPOFNOTIFY) lParam;
         if (CDN_INITDONE == (pNotifyCode->hdr).code)
         {
            SetWindowPos( hwndDialog, HWND_TOP,
                         gs_rectDialog.x,
                         gs_rectDialog.y,
                         gs_rectDialog.width,
                         gs_rectDialog.height,
                         SWP_NOZORDER|SWP_NOSIZE);
            
            OPENFILENAME *ofn = (OPENFILENAME *)
            GetWindowLongPtr(hDlg, GWLP_USERDATA);
            FileDialog *me = (FileDialog *)
            ofn->lCustData;
            
            if (!me->m_buttonlabel.IsEmpty())
            {
               CommDlg_OpenSave_SetControlText( hwndDialog,
                                               pshHelp,
                                               (LPTSTR)me->m_buttonlabel.c_str());
            }
         }
         else if (CDN_HELP == (pNotifyCode->hdr).code)
         {
            OPENFILENAME *ofn = (OPENFILENAME *)
            GetWindowLongPtr(hDlg, GWLP_USERDATA);
            FileDialog *me = (FileDialog *)
            ofn->lCustData;
            HWND w = GetFocus();
            int index = SendDlgItemMessage(hwndDialog,
                                           cmb1,
                                           CB_GETCURSEL,
                                           0,
                                           0);
            me->ClickButton(index);
            SetFocus(w);
         }
         else if (CDN_SELCHANGE == (pNotifyCode->hdr).code)
         {
            OPENFILENAME *ofn = (OPENFILENAME *)
            GetWindowLongPtr(hDlg, GWLP_USERDATA);
            FileDialog *me = (FileDialog *)
            ofn->lCustData;
            me->FilterFiles(hDlg);
         }
         else if (CDN_TYPECHANGE == (pNotifyCode->hdr).code)
         {
            OPENFILENAME *ofn = (OPENFILENAME *)
            GetWindowLongPtr(hDlg, GWLP_USERDATA);
            FileDialog *me = (FileDialog *)
            ofn->lCustData;
            me->ParseFilter(ofn->nFilterIndex);
            me->FilterFiles(hDlg);
         }
         break;
      }
   }
   
   // do the default processing
   return 0;
}
コード例 #25
0
//! Load a mesh
void Menu::loadMesh(Gui::GuiElement* elem){
  FileDialog* fd = dynamic_cast<FileDialog*>(elem->getParent());
  Graphic::instance()->addMesh(fd->getRelFile());
}
コード例 #26
0
//! The add texture callback
void Menu::addTexture(Gui::GuiElement* elem){
  FileDialog* fd = new FileDialog();
  fd->setCbFunc(loadTexture);
  CGE::Engine::instance()->addGuiListener(fd);
}
コード例 #27
0
void EditorSceneImportDialog::_browse_script() {

	script_select->popup_centered_ratio();

}
コード例 #28
0
	EditorSampleImportDialog(EditorSampleImportPlugin *p_plugin) {

		plugin=p_plugin;


		set_title("Import Audio Samples");

		VBoxContainer *vbc = memnew( VBoxContainer );
		add_child(vbc);
		set_child_rect(vbc);


		HBoxContainer *hbc = memnew( HBoxContainer );
		vbc->add_margin_child("Source Sample(s):",hbc);

		import_path = memnew( LineEdit );
		import_path->set_h_size_flags(SIZE_EXPAND_FILL);
		hbc->add_child(import_path);

		Button * import_choose = memnew( Button );
		import_choose->set_text(" .. ");
		hbc->add_child(import_choose);

		import_choose->connect("pressed", this,"_browse");

		hbc = memnew( HBoxContainer );
		vbc->add_margin_child("Target Path:",hbc);

		save_path = memnew( LineEdit );
		save_path->set_h_size_flags(SIZE_EXPAND_FILL);
		hbc->add_child(save_path);

		Button * save_choose = memnew( Button );
		save_choose->set_text(" .. ");
		hbc->add_child(save_choose);

		save_choose->connect("pressed", this,"_browse_target");

		file_select = memnew(FileDialog);
		file_select->set_access(FileDialog::ACCESS_FILESYSTEM);
		add_child(file_select);
		file_select->set_mode(FileDialog::MODE_OPEN_FILES);
		file_select->connect("files_selected", this,"_choose_files");
		file_select->add_filter("*.wav ; MS Waveform");
		save_select = memnew(	EditorDirDialog );
		add_child(save_select);

	//	save_select->set_mode(FileDialog::MODE_OPEN_DIR);
		save_select->connect("dir_selected", this,"_choose_save_dir");

		get_ok()->connect("pressed", this,"_import");
		get_ok()->set_text("Import");


		error_dialog = memnew ( ConfirmationDialog );
		add_child(error_dialog);
		error_dialog->get_ok()->set_text("Accept");
	//	error_dialog->get_cancel()->hide();

		set_hide_on_ok(false);
		options = memnew( _EditorSampleImportOptions );

		option_editor = memnew( PropertyEditor );
		option_editor->hide_top_label();
		vbc->add_margin_child("Options:",option_editor,true);
	}
コード例 #29
0
void EditFile::showFiles()
{
    QString s = edtFile->text();
#ifdef WIN32
    s.replace(QRegExp("\\\\"), "/");
#endif
    if (bDirMode){
        s = QFileDialog::getExistingDirectory(s, topLevelWidget(), title);
    }else if (bMultiplyMode){
        QStringList lst = QFileDialog::getOpenFileNames(filter, QString::null, topLevelWidget());
        if ((lst.count() > 1) || ((lst.count() > 0) && (lst[0].find(' ') >= 0))){
            for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it){
                *it = QString("\"") + *it + QString("\"");
            }
        }
        s = lst.join(" ");
    }else{
        if (s.isEmpty()){
            s = startDir;
            if (!s.isEmpty()){
                string d;
                d = QFile::encodeName(s);
                makedir((char*)d.c_str());
            }
        }
        if (createPreview){
            FileDialog *dlg = new FileDialog( s, filter, topLevelWidget(), title.isEmpty() ? i18n("Open") : title);
            if ( topLevelWidget()->icon() && !topLevelWidget()->icon()->isNull()){
                dlg->setIcon( *topLevelWidget()->icon() );
            }else if (qApp->mainWidget() && qApp->mainWidget()->icon() && !qApp->mainWidget()->icon()->isNull()){
                dlg->setIcon( *qApp->mainWidget()->icon() );
            }
            FilePreview *preview = createPreview(dlg);
#ifdef USE_KDE
            dlg->setOperationMode( KFileDialog::Opening);
            if (preview)
                dlg->setPreviewWidget(preview);
#else
            dlg->setMode( QFileDialog::ExistingFile );
            if (preview){
                dlg->setContentsPreview(preview, preview);
                dlg->setContentsPreviewEnabled(true);
                dlg->setPreviewMode(QFileDialog::Contents);
            }
#endif
            dlg->setFilter(filter);
            QString result;
            s = "";
            if (dlg->exec() == QDialog::Accepted){
                s = dlg->selectedFile();
            }
            delete dlg;
        }else{
#ifdef USE_KDE
            if (title.isEmpty()){
                s = QFileDialog::getOpenFileName(s, filter, topLevelWidget());
            }else{
                s = QFileDialog::getOpenFileName(s, filter, topLevelWidget(), title);
            }
#else
            s = QFileDialog::getOpenFileName(s, filter, topLevelWidget(), "filedialog", title);
#endif
        }
    }
#ifdef WIN32
    s.replace(QRegExp("/"), "\\");
#endif
    if (s.length()) edtFile->setText(s);
}
コード例 #30
0
//! The load scene callback
void Menu::loadScene(Gui::GuiElement* elem){
  FileDialog* fd = dynamic_cast<FileDialog*>(elem->getParent());
  Graphic::instance()->getScene().load(fd->getFile());
  Graphic::instance()->setFilename(fd->getFile());
}