示例#1
0
文件: ax.c 项目: radekp/spectemu
char *aX_get_prog_res(const char *resname, const char* resclass)
{
    XrmValue value;
    char *str_type;

    if(XrmGetResource(rDB, pname(resname), pclass(resclass),
                      &str_type, &value)) 
        return (char *)value.addr;
    else return NULL;
}
//**********************************************************************************************************************
vector<string> KruskalWallisCommand::setParameters(){
	try {
        CommandParameter pdesign("design", "InputTypes", "", "", "none", "none", "none","",false,true,true); parameters.push_back(pdesign);
        CommandParameter pshared("shared", "InputTypes", "", "", "none", "none", "none","summary",false,true,true); parameters.push_back(pshared);
        CommandParameter pclass("class", "String", "", "", "", "", "","",false,false); parameters.push_back(pclass);
		CommandParameter plabel("label", "String", "", "", "", "", "","",false,false); parameters.push_back(plabel);
		CommandParameter pclasses("classes", "String", "", "", "", "", "","",false,false); parameters.push_back(pclasses);
        //every command must have inputdir and outputdir.  This allows mothur users to redirect input and output files.
		CommandParameter pinputdir("inputdir", "String", "", "", "", "", "","",false,false); parameters.push_back(pinputdir);
		CommandParameter poutputdir("outputdir", "String", "", "", "", "", "","",false,false); parameters.push_back(poutputdir);
		
		vector<string> myArray;
		for (int i = 0; i < parameters.size(); i++) {	myArray.push_back(parameters[i].name);		}
		return myArray;
	}
	catch(exception& e) {
		m->errorOut(e, "KruskalWallisCommand", "setParameters");
		exit(1);
	}
}
示例#3
0
文件: ax.c 项目: radekp/spectemu
void aX_open_disp(aX_options *useropt, int useroptlen, 
                  int *argcp, char *argv[],
                  aX_default_resources *defres)
{

    XrmValue value;
    char *str_type;
    char *disp_res;
    char *environment;
    char *display_name = NULL;
    char filename[MAX_FILENAME_LEN];
    int i;
    XrmDatabase commandlineDB = NULL, usercommandlineDB = NULL;
    XrmDatabase homeDB, serverDB, applicationDB;

    /*  
        if(disp_start.next_disp != NULL) {
        fprintf(stderr, "aX_open_disp: Cannot open first display twice.\n");
        exit(-1);
        }
    */

    XrmInitialize();

    class_name[0] = '\0';
    class_name[MAX_CLASS_NAME_LEN] = '\0';
    if(defres->class_name != NULL) 
        strncpy(class_name, defres->class_name, MAX_CLASS_NAME_LEN);


    fill_event_info();

    for(i = 1; i < *argcp; i++) 
        if(strcmp(argv[i], "-name") == 0 && ++i < *argcp){
            defres->prog_name = argv[i];
            break;
        }


    prog_name[0] = '\0';
    prog_name[MAX_PROG_NAME_LEN] = '\0';
    if(defres->prog_name != NULL) 
        strncpy(prog_name, defres->prog_name, MAX_PROG_NAME_LEN);
    else
        strncpy(prog_name, argv[0], MAX_PROG_NAME_LEN);

    defres->prog_name = prog_name;

    XrmParseCommand(&commandlineDB, (XrmOptionDescRec *) opTable, 
                    opTableEntries, prog_name, argcp, argv);

    if(useropt != NULL)
        XrmParseCommand(&usercommandlineDB, (XrmOptionDescRec *) useropt, 
                        useroptlen, prog_name, argcp, argv);
    else usercommandlineDB = NULL;

    /*
      if(*argcp != 1) {
      fprintf(stderr, 
      "%s: aX_open_disp: Unrecognised options in command line!\n", 
      prog_name);
      exit(-1);
      }
    */

    if(XrmGetResource(commandlineDB, pname(".display"), pclass(".Display"),
                      &str_type, &value)) display_name = (char *) value.addr;
  
    if((defres->disp = XOpenDisplay(display_name)) == NULL) {
        fprintf(stderr, "%s: aX_open_disp: cannot connect to X server %s\n", 
                prog_name, XDisplayName(display_name));
        exit(-1);
    }

    applicationDB = XrmGetFileDatabase(
                                       addstr("/usr/lib/X11/app-defaults/",
                                              class_name,
                                              filename,
                                              MAX_FILENAME_LEN));
    /*  
        if(defres->disp->xdefaults) 
        serverDB = XrmGetStringDatabase(defres->disp->xdefaults);
        else serverDB = NULL;
    */


    disp_res = XResourceManagerString(defres->disp);

    if(disp_res) serverDB = XrmGetStringDatabase(disp_res);
    else serverDB = NULL;

  
    if((environment = getenv("XENVIRONMENT")) != NULL) 
        homeDB = XrmGetFileDatabase(environment);
    else homeDB = NULL;

  
    XrmMergeDatabases(applicationDB, &rDB);
    XrmMergeDatabases(serverDB, &rDB);
    XrmMergeDatabases(homeDB, &rDB);
    XrmMergeDatabases(commandlineDB, &rDB);
    XrmMergeDatabases(usercommandlineDB, &rDB);

    get_def_res(defres);

    add_disp(defres);

} 
示例#4
0
文件: ax.c 项目: radekp/spectemu
static void get_def_res(aX_default_resources *defres)
{
    XrmValue value;
    char *str_type;
    int flags;
    XColor color_def;
    unsigned long tmp_pixel;
    Colormap def_map;
    int font_spec;


    defres->window_name = prog_name;
    defres->icon_name = prog_name;


    defres->scr = DefaultScreen(defres->disp);  
    defres->scr_ptr = ScreenOfDisplay(defres->disp, defres->scr);
    def_map = DefaultColormapOfScreen(defres->scr_ptr);


    if(XrmGetResource(rDB, pname(".title"), pclass(".Title"), 
                      &str_type, &value)) 
        defres->window_name = (char *) value.addr;  

    defres->sflags = PSize;
    if(XrmGetResource(rDB, pname(".geometry"), pclass(".Geometry"), 
                      &str_type, &value)) {
        flags = XParseGeometry((char *) value.addr, &(defres->x), &(defres->y),
                               &(defres->width), &(defres->height));
        if((XValue | YValue) & flags) defres->sflags |= USPosition;
        if((WidthValue | HeightValue) & flags) 
            defres->sflags = (defres->sflags & ~PSize) | USSize;
    }

    defres->background = defres->background ? 
        WhitePixel(defres->disp, defres->scr) : 
        BlackPixel(defres->disp, defres->scr);

    if(XrmGetResource(rDB, pname(".background"), pclass(".Background"), 
                      &str_type, &value)) {
        if(XParseColor(defres->disp, def_map, value.addr, &color_def)) {
            if(XAllocColor(defres->disp, def_map, &color_def)) 
                defres->background = color_def.pixel;
        }
        else fprintf(stderr, "%s: aX: warning: Invalid color specification %s\n", 
                     prog_name, value.addr);
    }
      
    defres->foreground = defres->foreground ? 
        WhitePixel(defres->disp, defres->scr) : 
        BlackPixel(defres->disp, defres->scr);

    if(XrmGetResource(rDB, pname(".foreground"), pclass(".Foreground"), 
                      &str_type, &value)) {
        if(XParseColor(defres->disp, def_map, value.addr, &color_def)) {
            if(XAllocColor(defres->disp, def_map, &color_def)) 
                defres->foreground = color_def.pixel;
        }
        else fprintf(stderr, "%s: aX: warning: Invalid color specification %s\n", 
                     prog_name, value.addr);
    }

    if(XrmGetResource(rDB, pname(".borderWidth"), pclass(".BorderWidth"),
                      &str_type, &value)) {
        defres->border_width = atoi(value.addr);
    }

    defres->border_color = defres->foreground;
    if(XrmGetResource(rDB, pname(".borderColor"), pclass(".BorderColor"), 
                      &str_type, &value)) {
        if(XParseColor(defres->disp, def_map, value.addr, &color_def)) {
            if(XAllocColor(defres->disp, def_map, &color_def)) 
                defres->border_color = color_def.pixel;
        }
        else fprintf(stderr, "%s: aX: warning: Invalid color specification %s\n", 
                     prog_name, value.addr);
    }

    font_spec = 0;
    if(XrmGetResource(rDB, pname(".font"), pclass(".Font"),
                      &str_type, &value)) {
        defres->font_name = value.addr;
        if(defres->font_name != NULL) font_spec = 1;

    }

    if(XrmGetResource(rDB, pname(".fallbackFont"), pclass(".Font"),
                      &str_type, &value)) 
        defres->fallback_font_name = value.addr;

    if(defres->font_name == NULL || 
       (defres->font = XLoadQueryFont(defres->disp, defres->font_name)) 
       == NULL) {
    
        if(font_spec) 
            fprintf(stderr, "%s: aX: warning: cannot open %s font, ",
                    prog_name, defres->font_name);
    
        defres->font_name = defres->fallback_font_name;

        if(font_spec && defres->font_name != NULL) 
            fprintf(stderr, "trying %s...\n",defres->font_name);

        if(defres->font_name == NULL || 
           (defres->font = 
            XLoadQueryFont(defres->disp, defres->fallback_font_name)) == NULL) {
      
            if(defres->font_name != NULL) {
        
                fprintf(stderr, "%s: aX: warning: cannot open %s font, ",
                        prog_name, defres->font_name);
            }

            defres->font_name = "fixed";
      
            fprintf(stderr, "trying %s...\n",defres->font_name);

            if((defres->font = XLoadQueryFont(defres->disp, defres->font_name)) 
               == NULL) {
        
                fprintf(stderr, "%s: aX: warning: cannot open %s font\n",
                        prog_name, defres->font_name);
        
                exit(-1);
            }
        }
        else defres->font_name = defres->fallback_font_name;
    }
  
    if(XrmGetResource(rDB, pname(".reverseVideo"), pclass(".ReverseVideo"),
                      &str_type, &value)) 
        if(strcmp(value.addr, "on") == 0) {
            tmp_pixel = defres->foreground;
            defres->foreground = defres->background;
            defres->background = tmp_pixel;
        } 

}