Esempio n. 1
0
static void
SelectPathOK(AG_Event *event)
{
	char *key = AG_STRING(1);
	AG_Textbox *tbox = AG_PTR(2);
	AG_Window *win = AG_PTR(3);
	char *path = AG_STRING(4);
	
	AG_SetString(agConfig, key, path);
	AG_TextboxSetString(tbox, path);
	AG_ObjectDetach(win);
}
Esempio n. 2
0
File: textdlg.c Progetto: adsr/agar
static void
EnteredString(AG_Event *event)
{
	char *s = AG_STRING(1);

	AG_TextInfo("got-string", "Got string \"%s\"", s);
}
Esempio n. 3
0
void AGOL_Settings::ReplaceWadDirSelectorOk(AG_Event *event)
{
	AG_TlistItem *selitem = AG_TlistSelectedItem(WadDirList);
	char         *waddir  = AG_STRING(2);

	if((selitem && strlen(selitem->text) > 0) && 
		(waddir && strlen(waddir) > 0 && !IsWadDirDuplicate(waddir)))
	{
		list<string>::iterator i;

		// Look for the selected directory in the list
		for(i = WadDirs.begin(); i != WadDirs.end(); ++i)
			if(*i == selitem->text)
			{
				// Replace the item with the new path
				*i = waddir;
				break;
			}
	}

	DeleteEventHandler(DirSelOkHandler);

	delete DirSel;
	DirSel = NULL;
}
Esempio n. 4
0
static void
SaveColorSchemeToACS(AG_Event *event)
{
	char *file = AG_STRING(1);

	return AG_ColorsSave(file);
}
Esempio n. 5
0
static int
LoadColorSchemeFromACS(AG_Event *event)
{
	char *file = AG_STRING(1);

	return AG_ColorsLoad(file);
}
Esempio n. 6
0
static void
WarnRestart(AG_Event *event)
{
	char *key = AG_STRING(1);

	AG_TextWarning(key,
	    _("Note: Save the configuration and restart %s "
	      "for this change to take effect"), agProgName);
}
Esempio n. 7
0
static void
FileChosen(AG_Event *event)
{
    AG_FileSelector *fs = AG_PTR(1);
    char *path = AG_STRING(2);

    AG_TextboxSetString(fs->tbox, path);
    AG_PostEvent(NULL, fs, "file-chosen", "%s", path);
    Collapse(fs);
}
Esempio n. 8
0
static void
SetPath(AG_Event *event)
{
	char path[AG_PATHNAME_MAX];
	AG_Textbox *tbox = AG_SELF();
	char *varname = AG_STRING(1);

	AG_TextboxCopyString(tbox, path, sizeof(path));
	AG_SetString(agConfig, varname, path);
	AG_WidgetUnfocus(tbox);
}
Esempio n. 9
0
void AGOL_Settings::OdamexPathSelectorOk(AG_Event *event)
{
	char *odapath = AG_STRING(2);

	// If a path came back set the odamex path label
	if(odapath && strlen(odapath) > 0)
		AG_LabelTextS(OdamexPathLabel, odapath);

	DeleteEventHandler(DirSelOkHandler);

	delete DirSel;
	DirSel = NULL;
}
Esempio n. 10
0
void AGOL_Settings::AddWadDirSelectorOk(AG_Event *event)
{
	char *waddir = AG_STRING(2);

	// If a path came back add it to the list
	if(waddir && strlen(waddir) > 0 && !IsWadDirDuplicate(waddir))
		WadDirs.push_back(waddir);

	DeleteEventHandler(DirSelOkHandler);

	delete DirSel;
	DirSel = NULL;
}
Esempio n. 11
0
void MenuDeathmatchMaps::handlerCheckMap(AG_Event * event){
	std::string filename( AG_STRING(1) );
	try {
		TiXmlDocument doc;
		// nacteni XML souboru
		TiXmlRootElement(doc, filename, "map", true);
		if(setMap(filename))
			handlerBack();
	}
	catch(int val){
		if(val==1)
			AG_TextError("%s:\n%s", filename.c_str(),
				"File does not represent Bombic map.");
	}
}
Esempio n. 12
0
static void
SelectPath(AG_Event *event)
{
	char path[AG_PATHNAME_MAX];
	AG_Window *win;
	AG_DirDlg *dd;
	char *key = AG_STRING(1);
	AG_Textbox *tbox = AG_PTR(2);

	win = AG_WindowNew(0);
	dd = AG_DirDlgNew(win, AG_DIRDLG_EXPAND|AG_DIRDLG_CLOSEWIN);
	AG_GetString(agConfig, key, path, sizeof(path));
	if (AG_DirDlgSetDirectoryS(dd, path) == -1) {
		AG_MkPath(path);
		(void)AG_DirDlgSetDirectoryS(dd, path);
	}
	AG_WindowSetGeometryAlignedPct(win, AG_WINDOW_MC, 30, 30);
	AG_WindowSetCaption(win, _("Select %s directory"), key);
	AG_DirDlgOkAction(dd, SelectPathOK, "%s,%p,%p", key, tbox, win);
	AG_WindowShow(win);
}
Esempio n. 13
0
static int
SaveToCSV(AG_Event *event)
{
	struct test_ops *test = AG_PTR(1);
	AG_Table *t = AG_PTR(2);
	char separator = AG_UCHAR(3);
	char *path = AG_STRING(4);
	FILE *f;

	if ((f = fopen(path, "w")) == NULL) {
		AG_SetError("%s: Unable to open", AG_Strerror(errno));
		return (-1);
	}
	fprintf(f, "Benchmark for Agar %d.%d.%d\n", AGAR_MAJOR_VERSION,
	    AGAR_MINOR_VERSION, AGAR_PATCHLEVEL);
	fprintf(f, "Test: %s%s\n", test->name,
	    (test->flags&TEST_SDL) ? " (SDL-only)" :
	    (test->flags&TEST_GL) ? " (GL-only)" : "");
	fprintf(f, "Iterations: %u x %u\n\n", test->runs, test->iterations);
	AG_TableSaveASCII(t, f, ':');
	fclose(f);
	return (0);
}
Esempio n. 14
0
/* Callback routine for AG_FileDlg. */
static int
LoadImage(AG_Event *event)
{
/*	AG_FileDlg *fd = AG_SELF(); */
	AG_Window *winParent = AG_PTR(1);
	char *file = AG_STRING(2);
	AG_FileType *ft = AG_PTR(3);
	AG_Surface *s;
	AG_Window *win;
	AG_Scrollview *sv;
	Uint8 *pSrc;
	Uint i;

	if (strcmp(ft->exts[0], "*.bmp") == 0) {
		s = AG_SurfaceFromBMP(file);
	} else if (strcmp(ft->exts[0], "*.jpg") == 0) {
		s = AG_SurfaceFromJPEG(file);
	} else if (strcmp(ft->exts[0], "*.png") == 0) {
		s = AG_SurfaceFromPNG(file);
	} else {
		AG_SetError("Unrecognized format: %s", ft->exts[0]);
		return (-1);
	}
	if (s == NULL)
		return (-1);

	if ((win = AG_WindowNew(0)) == NULL) {
		AG_SurfaceFree(s);
		return (-1);
	}
	AG_WindowSetCaption(win, "Image <%s>", AG_ShortFilename(file));

	/* We use AG_FileOptionFoo() to retrieve per-type options. */
	if (AG_FileOptionBool(ft,"invert")) {
		pSrc = (Uint8 *)s->pixels;
		for (i = 0; i < s->w*s->h; i++) {
			Uint8 r, g, b;

			AG_GetPixelRGB(AG_GET_PIXEL(s,pSrc), s->format,
			    &r,&g,&b);
			r = 255 - r;
			g = 255 - g;
			b = 255 - b;
			AG_PUT_PIXEL(s, pSrc,
			    AG_MapPixelRGB(s->format, r,g,b));
			pSrc += s->format->BytesPerPixel;
		}
	}

	/*
	 * Place an AG_Pixmap(3) widget inside of an AG_Scrollview(3) so
	 * the user can pan the view.
	 */
	sv = AG_ScrollviewNew(win, AG_SCROLLVIEW_BY_MOUSE|AG_SCROLLVIEW_EXPAND);
	AG_PixmapFromSurfaceScaled(sv, 0, s, s->w, s->h);
	AG_SurfaceFree(s);

	AG_WindowSetGeometry(win, -1, -1, 320, 240);
	AG_WindowAttach(winParent, win);
	AG_WindowShow(win);

	return (0);
}