Esempio n. 1
0
void LoadDefaultTabs ()
{
	InOut log (_T("LoadDefaultTabs"));

	CString lastFolder;
	DisableSync();
	switch (gOptions.m_OnStart) 
	{
		case ONSTART_NOTHING:
			break;

		case ONSTART_MYCOMP:	
			OpenFolder (CONST_MYCOMPUTER);
			break;

		case ONSTART_LASTSAVED:			
			for (unsigned int i = 0 ; i < gOptions.m_LastTabs.size (); i++)
			//if (IsDirectory (gOptions.m_LastTabs[i].m_Name))
			{
				SureBackSlashEx (gOptions.m_LastTabs[i].m_Name);
				OpenFolder (gOptions.m_LastTabs[i].m_Name);
				lastFolder = gOptions.m_LastTabs[i].m_Name;				
			}

			if (!gOptions.m_LastTabsActiveView.IsEmpty())
				lastFolder = gOptions.m_LastTabsActiveView;

			break;

		case ONSTART_DEFAULT:
			for (unsigned int i = 0 ; i < gOptions.m_DefaultTabs.size (); i++)			
			{
				SureBackSlashEx (gOptions.m_DefaultTabs[i].m_Name);
				OpenFolder (gOptions.m_DefaultTabs[i].m_Name);
				lastFolder = gOptions.m_DefaultTabs[i].m_Name;				
			}
			break;
	}

	EnableSync();


	if (!lastFolder.IsEmpty())
	{			
		SureBackSlashEx (lastFolder);
		OpenFolder (lastFolder);
		SyncUI (lastFolder);
	}
}
Esempio n. 2
0
void frmPrjTree::Init(){
  frmviewctrl->Init();
  frmsurfctrl->Init();
  frmimageplane->Init();
  frmmatting->Init();
  //insert here for new panel

  ui.reset(new frmPrjTreeUI2);
  //ui->tree->activate();
  ui->tree->showroot(false);
  ui->tree->add("Scene");
  ui->tree->add("Scene/View");
  ui->tree->add("Scene/SFS Builder");
  ui->tree->add("Scene/Matting");
  ui->tree->add("Scene/Surface");
  CONNECT(ui->tree,frmPrjTree::tree_event);

  ui->win->show();
  ui->tree->show();


  //syncronize data
  SyncUI();
}
Esempio n. 3
0
void MattingEH::Handle(EventBall *eventball){
  if(eventball->state(-34)){
  }
  else if(eventball->event(Q_ADD)){
    // event handler removed from the queue
    ev->edit_mode=Matting::edit_mode_on;
    eventball->stop();
    ev->dv->redraw();
    return;
  }
  else if(eventball->event(Q_DEL)){
    // event handler removed from the queue
    ev->edit_mode=Matting::edit_mode_off;
    eventball->stop();
    ev->dv->redraw();
    return;
  }
  else if(eventball->event(M_DRAG) && 
          eventball->state(state_drag)){
    // continue drag
#if 0
    float x=eventball->x, y=eventball->y, z=0;
    ev->dv->viewctrl->hitscene(x,y,z);
    float h=ev->h/2;
    float w=ev->w/2;
    x-=w; y-=h;    
    float d = sqrt(x*x+y*y);
    if(d<h && fabs(z)<0.2f){
      z = sqrt(h*h - d*d);
    }

    int slot;
    if(ev->glsel_lightcur == ev->glsel_light[0]) slot = 0;
    if(ev->glsel_lightcur == ev->glsel_light[1]) slot = 1;
    if(ev->glsel_lightcur == ev->glsel_light[2]) slot = 2;
    if(ev->glsel_lightcur == ev->glsel_light[3]) slot = 3;
    
    x = ev->lights[slot][0]=x/h;
    y = ev->lights[slot][1]=y/h;
    z = ev->lights[slot][2]=z/h;
    //printf("x=%f y=%f z=%f\n",x,y,z);
    SyncUI();
    ev->dv->redraw();
    eventball->stop();
#endif
  }
  else if(eventball->event(M_UP) &&
          eventball->state(state_drag)){
    // end drag
#if 0
    eventball->setstate(0);
    ev->glsel_lightcur=0;
    ev->dv->redraw();
    eventball->stop();
#endif
  }
  else if(!eventball->state(0)){
    // move event futher down
    return;
  }
  else if(eventball->event(M_DOWN) && 
          eventball->keys("") && 
	  eventball->kmod(0) &&
          eventball->mbtn(1)){

    // start drag
#if 0
    int id =ev->dv->SelectObj(eventball->x,eventball->y);
    if(id == ev->glsel_light[0] ||
       id == ev->glsel_light[1] ||
       id == ev->glsel_light[2] ||
       id == ev->glsel_light[3]){
      if(ev->glsel_lightcur != id){
	eventball->genstate(state_drag);
	ev->glsel_lightcur=id;
	ev->curslot=id-ev->glsel_light[0];	
	ev->dv->redraw();
	SyncUI();
	eventball->stop();
      }
    }
#endif 
  }
}
Esempio n. 4
0
void DlgSqlExport::Run(Sql& cursor, String command, String tablename)
{
	Title(Nvl(tablename, t_("SQL query")) + t_(" export"));
	object_name <<= tablename;
	if(!cursor.Execute(command)) {
		Exclamation(NFormat(t_("Error executing [* \1%s\1]: \1%s"), command, cursor.GetLastError()));
		return;
	}
	for(int i = 0; i < cursor.GetColumns(); i++) {
		const SqlColumnInfo& sci = cursor.GetColumnInfo(i);
		String type;
		switch(sci.valuetype) {
			case BOOL_V:
			case INT_V: type = t_("integer"); break;
			case DOUBLE_V: type = t_("real number"); break;
			case STRING_V:
			case WSTRING_V: type = t_("string"); break;
			case DATE_V: type = t_("date"); break;
			case TIME_V: type = t_("date/time"); break;
			case /*ORA_BLOB_V*/-1: type = t_("BLOB"); break;
			case /*ORA_CLOB_V*/-2: type = t_("CLOB"); break;
			default: type = FormatInt(sci.valuetype); break;
		}
		columns.Add(sci.name, sci.valuetype, sci.width, 1);
	}
	static String cfg;
	LoadFromString(*this, cfg);
	SyncUI();
	while(TopWindow::Run() == IDOK)
		try {
			String out_table = ~object_name;
			String delim;
			switch((int)~delimiters) {
				case DELIM_TAB: delim = "\t"; break;
				case DELIM_SEMICOLON: delim = ";"; break;
			}
			Vector<int> out;
			String colstr;
			String title;
			for(int i = 0; i < columns.GetCount(); i++)
				if(columns.Get(i, 3)) {
					out.Add(i);
					String cname = cursor.GetColumnInfo(i).name;
					colstr << (i ? ", " : "") << cname;
					if(i) title << delim;
					title << cname;
				}
			if(out.IsEmpty()) {
				throw Exc(t_("No columns selected!"));
				continue;
			}
			String rowbegin, rowend;
			int fmt = ~format;
			FileSel fsel;
			String ext;
			switch(fmt) {
				case FMT_TEXT: {
					rowend = "";
					ext = ".txt";
					fsel.Type(t_("Text files (*.txt)"), "*.txt");
					break;
				}
				case FMT_SQL: {
					if(identity_insert)
						rowbegin << "set identity_insert " << out_table << " on ";
					rowbegin << "insert into " << out_table << "(" << colstr << ") values (";
					rowend = ");";
					ext = ".sql";
					fsel.Type(t_("SQL scripts (*.sql)"), "*.sql");
					break;
				}
			}
			fsel.AllFilesType().DefaultExt(ext.Mid(1));
			if(!IsNull(recent_file))
				fsel <<= ForceExt(recent_file, ext);
			if(!fsel.ExecuteSaveAs(t_("Save export as")))
				continue;
			recent_file = ~fsel;
			FileOut fo;
			if(!fo.Open(recent_file)) {
				Exclamation(NFormat(t_("Error creating file [* \1%s\1]."), recent_file));
				continue;
			}
			if(fmt == FMT_TEXT)
				fo.PutLine(title);
			Progress progress(t_("Exporting row %d"));
			while(cursor.Fetch()) {
				String script = rowbegin;
				for(int i = 0; i < out.GetCount(); i++) {
					Value v = cursor[out[i]];
					switch(fmt) {
						case FMT_TEXT: {
							if(i)
								script.Cat(delim);
							if(IsString(v) && quote) {
								String s = v;
								script << '\"';
								for(const char *p = s, *e = s.End(); p < e; p++)
									if(*p == '\"')
										script.Cat("\"\"");
									else
										script.Cat(*p);
								script << '\"';
							}
							else
								script << StdFormat(v);
							break;
						}
						case FMT_SQL: {
							if(i) script.Cat(", ");
//							script << SqlCompile(SQLD_ORACLE, SqlFormat(v));
							break;
						}
					}
				}
				script << rowend;
				fo.PutLine(script);
/*
				if(autocommit && --left <= 0) {
					fo.PutLine("commit;");
					left = autocommit;
				}
*/
				if(progress.StepCanceled()) {
					Exclamation(t_("Export aborted!"));
					return;
				}
			}
			fo.Close();
			if(fo.IsError())
				throw Exc(NFormat(t_("Error writing file %s."), recent_file));
			break;
		}
		catch(Exc e) {
			ShowExc(e);
		}

	cfg = StoreAsString(*this);
}