Exemplo n.º 1
0
/* Driver_Dialog()
 * ================================================================
 */
int
driver_dialog( void )
{
   int flag;
   static int sflag = FALSE;

   /* Setup the Printer Menu */
   if( !sflag )
   {
      sflag = TRUE;
      SetPrinterMenu();
   }
   else
   {
      menu_icheck( ad_submenu, SNONE + gl_printer, 0 );
      menu_icheck( ad_submenu, SNONE, 1 );
      gl_printer = 0;
   }

   ActiveTree( ad_driver );   
   ObString( PBUTTON ) = anone;

   SetDriverWindow();

   flag = driver_handler();
   return( flag );
}
Exemplo n.º 2
0
static void wd_set_fields( int fields )
{
	menu_icheck(menu, MSHSIZ, ((fields & WD_SHSIZ) ? 1 : 0));
	menu_icheck(menu, MSHDAT, ((fields & WD_SHDAT) ? 1 : 0));
	menu_icheck(menu, MSHTIM, ((fields & WD_SHTIM) ? 1 : 0));
	menu_icheck(menu, MSHATT, ((fields & WD_SHATT) ? 1 : 0));
}
Exemplo n.º 3
0
void check_infowin(RESULT svar)
{

    if((svar.type==WINDOW_CLICKED)&&(svar.data[0]==WM_CLOSED))
    {
        close_dialog(&info_win);
        menu_icheck(menu_tree,MENU_INFORMATION,FALSE);
        menu_ienable(menu_tree,MENU_INFORMATION,TRUE);
    }
    else if(svar.type==DIALOG_CLICKED)
        switch(svar.data[0])
        {
        case INFO_OK:
            button(&info_win, INFO_OK, CLEAR_STATE, SELECTED);
            close_dialog(&info_win);
            menu_icheck(menu_tree,MENU_INFORMATION,FALSE);
            menu_ienable(menu_tree,MENU_INFORMATION,TRUE);
            break;
        case INFO_REGISTER:
            button(&info_win, INFO_REGISTER, CLEAR_STATE, SELECTED);
            close_dialog(&info_win);
            open_dialog(&register_win);
            break;
        default:
            ;
        }
}
Exemplo n.º 4
0
/**
*	Refresh the desk menu, reflecting netsurf current state.
*/
void deskmenu_update(void)
{
	menu_icheck(h_gem_menu, MAINMENU_M_DEBUG_RENDER, (html_redraw_debug) ? 1 : 0);
	menu_icheck(h_gem_menu, MAINMENU_M_FG_IMAGES,
				(nsoption_bool(foreground_images)) ? 1 : 0);
	menu_icheck(h_gem_menu, MAINMENU_M_BG_IMAGES,
				(nsoption_bool(background_images)) ? 1 : 0);
}
Exemplo n.º 5
0
static WORD do_viewmenu(WORD item)
{
    WORD newview, newsort, rc = 0;
    LONG ptext;

    newview = G.g_iview;
    newsort = G.g_isort;
    switch(item)
    {
    case ICONITEM:
        newview = (G.g_iview == V_ICON) ? V_TEXT : V_ICON;
        break;
    case NAMEITEM:
        newsort = S_NAME;
        break;
    case DATEITEM:
        newsort = S_DATE;
        break;
    case SIZEITEM:
        newsort = S_SIZE;
        break;
    case TYPEITEM:
        newsort = S_TYPE;
        break;
    case NSRTITEM:
        newsort = S_NSRT;
        break;
    }

    if (newview != G.g_iview)
    {
        G.g_iview = newview;
        ptext = (newview == V_TEXT) ? ad_picon : ad_ptext;
        menu_text(G.a_trees[ADMENU], ICONITEM, ptext);
        rc |= VIEW_HAS_CHANGED;
    }
    if (newsort != G.g_isort)
    {
        menu_icheck(G.a_trees[ADMENU], G.g_csortitem, 0);
        G.g_csortitem = item;
        menu_icheck(G.a_trees[ADMENU], item, 1);
        rc |= SORT_HAS_CHANGED;
    }

    if (rc)
        win_view(newview, newsort);

    return rc;
}
Exemplo n.º 6
0
static void wd_set_mode(int mode)
{
	int i;

	for (i = 0; i < 2; i++)
		menu_icheck(menu, MSHOWTXT + i, (i == mode) ? 1 : 0);
}
Exemplo n.º 7
0
/****************************************************************
*																*
*							on a trouv‚							*
*																*
****************************************************************/
void search_found(windowptr thewin, long secteur, long offset)
{
	int curseur_x = thewin -> fonction.secteur.curseur_x, curseur_y = thewin -> fonction.secteur.curseur_y;

	if (offset >= 0)
	{
		int offset_in_page;

		/* un petit bruit */
		if (Sound)
			Dosound(SearchSound);

		/* d‚calage dans une page */
		offset_in_page = (int)(offset & 511L);

		/* nouvelle position du curseur */
		thewin -> fonction.secteur.curseur_x = 2 * (offset_in_page & 31);
		thewin -> fonction.secteur.curseur_y = offset_in_page/32;

		if (curseur_x < 0)
		{
			update_curseur(thewin, thewin -> fonction.secteur.curseur_x, thewin -> fonction.secteur.curseur_y, FAIL, FAIL, FALSE);
			menu_icheck(Menu, CURSEUR_VISIBLE, 1);
		}
		else
			update_curseur(thewin, thewin -> fonction.secteur.curseur_x, thewin -> fonction.secteur.curseur_y, curseur_x, curseur_y, FALSE);
	}
	else
		if (curseur_x > 0)
		{
			thewin -> fonction.secteur.curseur_x = thewin -> fonction.secteur.curseur_y = FAIL;
			update_curseur(thewin, FAIL, FAIL, curseur_x, curseur_y, FALSE);
			menu_icheck(Menu, CURSEUR_VISIBLE, 0);
		}

	/* nouvelle page */
	thewin -> fonction.secteur.page = (int)((offset & (thewin -> fonction.secteur.sector_size * 512L -1))/ 512L);

	/* nouveau secteur */
	thewin -> fonction.secteur.secteur = secteur + offset / (thewin -> fonction.secteur.sector_size * 512L);

	/* on le charge */
	read_secteur(thewin, MENU_DEPLACEMENT);

	/* et on met la fenˆtre … jour */
	secteur_window_update(thewin, FALSE);
} /* search_found */
Exemplo n.º 8
0
int check_registerwin(RESULT svar)
{
  short xy[4];
  if((svar.type==WINDOW_CLICKED)&&(svar.data[0]==WM_CLOSED))
  {
    close_dialog(&register_win);
    menu_icheck(menu_tree,MENU_INFO,FALSE); 
    menu_ienable(menu_tree,MENU_INFO,TRUE); 
  }
  else if(svar.type==DIALOG_CLICKED)
    switch(svar.data[0])
    {
      case REG_EXIT:
        button(&register_win, REG_EXIT, CLEAR_STATE, SELECTED);
        close_dialog(&register_win);
        menu_icheck(menu_tree,MENU_INFO,FALSE); 
        menu_ienable(menu_tree,MENU_INFO,TRUE); 
        break;
      case REG_REGISTER:
        if(check_key(FALSE))
        {
          init_var.registered=TRUE;
          button(&register_win, REG_REGISTER, CLEAR_STATE, SELECTED);
          close_dialog(&register_win);
          menu_icheck(menu_tree,MENU_INFO,FALSE); 
          menu_ienable(menu_tree,MENU_INFO,TRUE); 
        }
        else
        {
          init_var.registered=FALSE;
          button(&register_win, REG_REGISTER, CLEAR_STATE, SELECTED);
        }
        break;
      case REG_LOAD_KEY:
        load_reg_file();
        button(&register_win, REG_LOAD_KEY, CLEAR_STATE, SELECTED);
        xy[0]=screenx;
        xy[1]=screeny;
        xy[2]=screenw;
        xy[3]=screenh;
        update(&register_win,xy);
        break;
    }

  return(FALSE);
}
Exemplo n.º 9
0
void check_registerwin(RESULT svar)
{
    short xy[4];
    if((svar.type==WINDOW_CLICKED)&&(svar.data[0]==WM_CLOSED))
    {
        close_dialog(&register_win);
        menu_icheck(menu_tree,MENU_INFORMATION,FALSE);
        menu_ienable(menu_tree,MENU_INFORMATION,TRUE);
    }
    else if(svar.type==DIALOG_CLICKED)
    {
        switch(svar.data[0])
        {
        case REG_EXIT:
            button(&register_win, REG_EXIT, CLEAR_STATE, SELECTED);
            close_dialog(&register_win);
            menu_icheck(menu_tree,MENU_INFORMATION,FALSE);
            menu_ienable(menu_tree,MENU_INFORMATION,TRUE);
            break;
        case REG_REGISTER:
            if(check_key(FALSE))
            {
                tempvar.registered=TRUE;
                button(&register_win, REG_REGISTER, CLEAR_STATE, SELECTED);
                close_dialog(&register_win);
                menu_icheck(menu_tree,MENU_INFORMATION,FALSE);
                menu_ienable(menu_tree,MENU_INFORMATION,TRUE);
            }
            else
            {
                tempvar.registered=FALSE;
                button(&register_win, REG_REGISTER, CLEAR_STATE, SELECTED);
            }
            tempvar.conf_change=TRUE;
            break;
        case REG_LOAD_KEY:
            load_reg_file();
            button(&register_win, REG_LOAD_KEY, CLEAR_STATE, SELECTED);
            wind_get(mailconv_win.ident,WF_WORKXYWH,xy,xy+1,xy+2,xy+3);
            update(&register_win,xy);
            break;
        default:
            ;
        }
    }
}
Exemplo n.º 10
0
int handle_menu(RESULT svar)
{
  if(svar.data[3]!=FAIL)
    objc_change(menu_tree,svar.data[3],0,0,0,0,0,0,O_REDRAW);

  switch(svar.data[4])
  {
    case MENU_INFORMATION:
      menu_icheck(menu_tree,MENU_INFORMATION,TRUE);
      menu_ienable(menu_tree,MENU_INFORMATION,FALSE);
      open_dialog(&info_win);
      break;
    case MENU_FILE_WRITE:
      open_writewin(FALSE);
      break;
    case MENU_FILE_QUIT:
      if(tempvar.conf_change)
        if(alertbox(1,alerts[Q_SAVE_CONF_EXIT])==1)
          save_datafile(TRUE,CONFIGFILE,(char *)config,sizeof(CONFIG));
      return(FALSE);
      break;
    case MENU_CONF_AUTO:
      menu_icheck(menu_tree,MENU_CONF_AUTO,TRUE);
      menu_ienable(menu_tree,MENU_CONF_AUTO,FALSE);
      open_autodatewin();
      break;
    case MENU_CONF_PATH:
      menu_icheck(menu_tree,MENU_CONF_PATH,TRUE);
      menu_ienable(menu_tree,MENU_CONF_PATH,FALSE);
      open_pathwin();
      break;
    case MENU_CONF_MISC:
      break;
    case MENU_CONF_SAVE:
      save_datafile(TRUE,CONFIGFILE,(char *)config,sizeof(CONFIG));
      break;
    case MENU_HELP_INDEX:
      break;
    default:
      break;
  }
  return(TRUE);
}
Exemplo n.º 11
0
/****************************************************************
*																*
*					ferme la fenˆtre de tampon					*
*					mais ne libŠre pas la m‚moire				*
*																*
****************************************************************/
void fermer_tampon(void)
{
	register windowptr winptr = (windowptr)&Firstwindow;

	/* ferme la fenˆtre */
	close_window(Tampon -> win, TRUE);

	/* Remove window record from window list. */
	while(winptr -> next)
		if (winptr -> next == Tampon)
			break;
		else
			winptr = winptr -> next;

	if (!winptr -> next)
	{
		error_msg(Z_NO_CORRESPONDING_HANDLE);
		shutdown(FALSE);
	}

	/* on d‚gage de la liste */
	winptr -> next = winptr -> next -> next;

	/* Update the front window pointer. */
	if (!BottomIsMeaningful)
	{
		int place = Tampon -> place;

		for (winptr = Firstwindow; winptr; winptr = winptr -> next)
			if (winptr -> place > place)
				winptr -> place--;

		/* recherche la nouvelle fenˆtre de niveau 0 */
		for (winptr = Firstwindow; winptr; winptr = winptr -> next)
			if (!winptr -> place)
				break;

		if (winptr)
			make_frontwin(winptr);
	}

	if (Tampon -> menu_entry > FAIL)
	{
		memset(MenuShortCuts[6].menu[WINDOW_LIST_1 - CHOIX_FONTE + Tampon -> menu_entry].text, ' ', MenuShortCuts[6].size -SHORTCUT_SIZE -1);
		menu_ienable(Menu, WINDOW_LIST_1 + Tampon -> menu_entry, FALSE);
		menu_icheck(Menu, WINDOW_LIST_1 + Tampon -> menu_entry, FALSE);
		*(PopUpEntryTree[6][WINDOW_LIST_1 - CHOIX_FONTE +1 + Tampon -> menu_entry].ob_spec.free_string +1) = '\0';
		PopUpEntryTree[6][WINDOW_LIST_1 - CHOIX_FONTE +1 + Tampon -> menu_entry].ob_state |= DISABLED;
	}

	/* rend le menu 'Ouvrir Tampon' cliquable */
	menu_ienable(Menu, OUVRIR_TAMPON, 1);
} /* fermer_tampon */
Exemplo n.º 12
0
static void wd_set_sort(int type)
{
	int i;

	/* 
	 * DjV 010 261202 Note: it is tacitly assumed here that "sorting" 
	 * menu items follow in a fixed sequence after "sort by name"
	 * which, generally, may not be the case. Perhaps this should
	 * be generalized... 
	*/

	for (i = 0; i < 5; i++)
		menu_icheck(menu, i + MSNAME, (i == type) ? 1 : 0);
}
Exemplo n.º 13
0
CalcMemLeft()
{
	extern long MemUsed;

	MemUsed = 0L;

	if( (avail_mem = Malloc( -1L )) > 100000L ) {
		BufferGraphics = TRUE;
#ifndef SAI
		menu_icheck( gl_menu, MMBUFFER, 1 );
#endif

	}
	LowMemCheck = TRUE;

}
Exemplo n.º 14
0
static void __CDECL menu_debug_render(short item, short title, void *data)
{
	LOG(("%s", __FUNCTION__));
	html_redraw_debug = !html_redraw_debug;
	if( input_window != NULL ) {
		if ( input_window->browser != NULL
			&& input_window->browser->bw != NULL) {
			GRECT rect;
			window_get_grect(input_window->root, BROWSER_AREA_CONTENT, &rect);
			browser_window_reformat(input_window->browser->bw, false,
									rect.g_w, rect.g_h );
			menu_icheck(h_gem_menu, MAINMENU_M_DEBUG_RENDER,
						(html_redraw_debug) ? 1 : 0);
		}
	}
}
Exemplo n.º 15
0
/****************************************************************
*																*
*				Actif ou D‚sactive le ClipBoard GEM				*
*																*
****************************************************************/
void clipboard_gem(windowptr thewin)
{
	char scrap_path[FILENAME_MAX];

	if (!(ClipBoard || scrp_read(scrap_path)))
	{
		error_msg(Z_CLIPBOARD_NOT_INSTALLED);
		return;
	}

	if (test_scrap_path(scrap_path))
		return;

	ClipBoard = 1-ClipBoard;

	if (ClipBoard)
	{
		char text[80];

		ajoute(Firstwindow, Messages(TAMPON_15));

		sprintf(text, Messages(TAMPON_16), scrap_path);
		ajoute(Firstwindow, text);
	}
	else
		ajoute(Firstwindow, Messages(TAMPON_17));

	menu_icheck(Menu, CLIPBOARD_GEM, ClipBoard);
	make_frontwin(thewin);

	if (ClipBoard)
		coller_clipboard(scrap_path);

	/* update la fenˆtre Tampon */
	if (Menu[OUVRIR_TAMPON].ob_state & DISABLED)
	{
		convert_sect(Tampon -> fonction.secteur.secteurBin, Tampon -> fonction.text.Ligne, Tampon -> fonction.secteur.ascii);

		Efface = FALSE;
		redraw_window(Tampon -> win, &Tampon -> win -> work);
	}
} /* clipboard_gem */
Exemplo n.º 16
0
/* SetPrinterMenu()
 * ================================================================
 */
void
SetPrinterMenu( void )
{
     int i;
     int obj;

     ActiveTree( ad_submenu );
     menu_icheck( ad_submenu, SNONE, 1 );

     for( i = 0; i < gl_num_printers; i++ )
     {
	obj = i + SNONE + 1;
	ObString( obj ) =  MenuNode[i + 1].mname;
     }

     for( i = SLAST; i > obj; i-- )
     {
	objc_delete( ad_submenu, i );
	ObH( ROOT ) -= gl_hchar;
     }
}
Exemplo n.º 17
0
static void __CDECL menu_bg_images(short item, short title, void *data)
{
	nsoption_set_bool(background_images, !nsoption_bool(background_images));
	menu_icheck(h_gem_menu, MAINMENU_M_BG_IMAGES,
				(nsoption_bool(background_images)) ? 1 : 0);
}
Exemplo n.º 18
0
/********************************************************************
*																	*
*						 Gestion du menu							*
*																	*
********************************************************************/
boolean MenuSelect(int object, int scan, int state, int button)
{
	int index, entree, key;

	if (object < 0)
	{
		/* attend qu'on relache la souris */
		NoClick();

		if (button < 0)
		{
			/* regarde la touche */
			key = scantoascii(scan);
			if (key == 0)
				key = scan & 0xFF00;	/* scan code */
			else
				key = UpperChar(key);

			for (index = 0; index < NbMenus; index++)
				for (entree = 0; entree < MenuShortCuts[index].nb_entrees; entree++)
					if (MenuShortCuts[index].menu[entree].key == key && MenuShortCuts[index].menu[entree].state == state)
					{
						if (ob_isstate(Menu, MenuShortCuts[index].menuid, DISABLED) == 0 && ob_isstate(Menu, MenuShortCuts[index].menu[entree].itemid, DISABLED) == 0)
						{
							object = MenuShortCuts[index].menu[entree].itemid;
							index = NbMenus;
						}
						break;
					}
		}
	}

	if (object < 0)
		return FALSE;	/* kein entsprechender Eintrag gefunden */

	/* Men�punkte 'Fenster wechseln' und 'Fenster schliežen' werden
	   inklusive der dazugeh”rigen Hotkeys automatisch verwaltet */

	switch (object)
	{
						/* menu Zorg */

		case INFORMATIONS:
			presentation();
			break;

						/* menu Etat */

		case INFORMATION:
			informations(Drive);
			break;

		case REPERTOIRE_LOUPE:
			if (ManageVFAT)
				open_directory_vfat();
			else
				open_directory_short();
			break;

		case TEST_STRUCTURE:
			if (ManageVFAT)
				structure_test_vfat(Drive);
			else
				structure_test_short(Drive);
			break;

		case STATISTIQUES:
			statistiques(Drive);
			break;

		case OCCUPATION:
			occupation(Drive);
			break;

		case TRACE_UN_FICHIER:
			trace_file();
			break;

		case QUITTER:
			if (Reset)
			{
				if (my_alert(1, 2, X_ICN_QUESTION, Messages(MENU_1), Messages(BOOT_32)) == 0)
					shutdown(TRUE);
			}
			else
			{
				button = my_alert(2, 3, X_ICN_QUESTION, Messages(MENU_2), Messages(MENU_4));
				if (button == 0 || button == 1 && (int)xbios(0x11) % 2)
					shutdown(FALSE);
			}
			break;

					/* menu Ouvre */

		case UNITE_LOGIQUE:
			open_disk();
			break;

		case OUVRE_DISQUETTE:
			raw_floppy(FALSE);
			break;

		case OUVRE_DISQUE_DUR:
			raw_hard(FALSE);
			break;

		case OUVRE_FICHIER:
			open_file();
			break;

		case OUVRE_FICHIER_FS:
			open_file_other_fs();
			break;

		case OUVRE_FICH_TEXTE:
			voir_fichier();
			break;

		case CREER_FICHIER:
			creer_fichier();
			break;

		case FERMER:
			fermer(Thefrontwin -> win -> handle);
			break;

		case LIRE_BOOT:
			lire_boot();
			break;

		case CHARGER_BOOT:
			charger_boot();
			break;

		case SAUVER_BOOT:
			sauver_boot();
			break;

		case ECRIRE_BOOT:
#ifdef TEST_VERSION
			/* relache la souris */
			NoClick();

			/* on attend avant de redessiner */
			Event_Timer(0, 0, TRUE);

			my_alert(1, FAIL, X_ICN_STOP, Messages(MENU_6), NULL);
#else
			ecrire_boot();
#endif
			break;

					/* menu Edition */

		case SAUVER_SECTEUR:
#ifdef TEST_VERSION
			/* relache la souris */
			NoClick();

			/* on attend avant de redessiner */
			Event_Timer(0, 0, TRUE);

			my_alert(1, FAIL, X_ICN_STOP, Messages(MENU_6), NULL);
#else
			save_secteur(Thefrontwin, MENU_EDITION);
#endif
			break;

		case COPIER_SECTEUR:
			copier_tampon(Thefrontwin);
			break;

		case COLLER_SECTEUR:
			coller_tampon(Thefrontwin);
			break;

		case ECHANGER_TAMPON:
			echanger_tampon(Thefrontwin);
			break;

		case RETOUR_INITIAL:
			load_secteur(Thefrontwin, MENU_EDITION);
			break;

		case OUVRIR_TAMPON:
			ouvrir_tampon();
			break;

		case SAUVER_TAMPON:
			sauver_tampon();
			break;

		case CHARGER_TB_ASCII:
			ascii_tampon();
			break;

		case EFFACER_TAMPON:
			effacer_tampon();
			break;

					/* menu Structure */

		case DEFRAGMENTATION:
#ifdef TEST_VERSION
			/* relache la souris */
			NoClick();

			/* on attend avant de redessiner */
			Event_Timer(0, 0, TRUE);

			my_alert(1, FAIL, X_ICN_STOP, Messages(MENU_6), NULL);
#else
			reconnect(Drive);
#endif
			break;

		case UNIQUE_LIBRE:
#ifdef TEST_VERSION
			/* relache la souris */
			NoClick();

			/* on attend avant de redessiner */
			Event_Timer(0, 0, TRUE);

			my_alert(1, FAIL, X_ICN_STOP, Messages(MENU_6), NULL);
#else
			compresse(Drive);
#endif
			break;

		case RESTO_COMPLETE:
#ifdef TEST_VERSION
			/* relache la souris */
			NoClick();

		/* on attend avant de redessiner */
			Event_Timer(0, 0, TRUE);

			my_alert(1, FAIL, X_ICN_STOP, Messages(MENU_6), NULL);
#else
			restauration_complete(Drive);
#endif
			break;

		case VIDE_CLST_LIBRES:
			nettoie_clusters_libres(Drive);
			break;

		case NETTOIE_REPERTOI:
#ifdef TEST_VERSION
			/* relache la souris */
			NoClick();

			/* on attend avant de redessiner */
			Event_Timer(0, 0, TRUE);

			my_alert(1, FAIL, X_ICN_STOP, Messages(MENU_6), NULL);
#else
			nettoie_repertoire(Drive);
#endif
			break;

					/* menu Deplacement */

		case SECTEUR_SUIVANT:
			next_secteur(Thefrontwin);
			break;

		case SECTEUR_PRECEDEN:
			previous_secteur(Thefrontwin);
			break;

		case BLOC_SUIVANT:
			next_bloc(Thefrontwin);
			break;

		case BLOC_PRECEDENT:
			previous_bloc(Thefrontwin);
			break;

		case MARQUER_POSITION:
			marquer_position(Thefrontwin);
			break;

		case ALLER_MARQUE:
			goto_marque(Thefrontwin);
			break;

		case ALLER_SECTEUR:
			goto_secteur(Thefrontwin);
			break;

		case CHERCHER_CHAINE:
			search_first(Thefrontwin);
			break;

		case CHERCHER_NOUVEAU:
			search_next(Thefrontwin);
			break;

					/* menu Fenˆtres */

		case CHOIX_FONTE:
			choix_fonte(Thefrontwin);
			break;

		case CHOIX_COULEURS:
			couleur(Thefrontwin);
			break;

		case TAILLE_IDEALE:
			taille_ideale(Thefrontwin);
			break;

		case ASCENSEURS:
			ascenseurs(Thefrontwin);
			break;

		case CYCLER_FENETRES:
			cycle_window();
			break;

		case WINDOW_LIST_1:
		case WINDOW_LIST_2:
		case WINDOW_LIST_3:
		case WINDOW_LIST_4:
		case WINDOW_LIST_5:
		case WINDOW_LIST_6:
		case WINDOW_LIST_7:
		case WINDOW_LIST_8:
		case WINDOW_LIST_9:
		case WINDOW_LIST_10:
			{
				windowptr thewin;

				for (thewin = Firstwindow; thewin; thewin = thewin -> next)
					if (thewin -> menu_entry == object - WINDOW_LIST_1)
						make_frontwin(thewin);
			}
			break;

						/* menu Options */

		case CONFIG_GENERALE:
			config_generale();
			break;

		case CONFIG_DSK:
			config_disques();
			break;

		case RACCOURCIS_CLAVI:
			raccourcis_clavier();
			break;

		case DONNEES_ZORG:
			from_zorg_inf(TRUE);
			break;

		case DONNEES_SYSTEME:
			from_zorg_inf(FALSE);
			break;

		case INVALIDE_CACHE:
			if (Kbshift(FAIL) & 4)
			{
				int i;

				for (i=0; i<MAX_DEVICES; i++)
					change_disque(i, FALSE);
			}
			else
				change_disque(Drive, TRUE);
			break;

		case UPDATE_SYSTEME:
			if (Kbshift(FAIL) & 4)
			{
				int i;

				for (i=0; i<MAX_DEVICES; i++)
					update_systeme(i);
			}
			else
				update_systeme(Drive);
			break;

		case VISU_TEXTE:
			really_voir_fichier(Thefrontwin -> fonction.fichier.nom);
			break;

		case VISU_ASCII:
			secteur_ascii(Thefrontwin);
			break;

		case VISU_HEXA:
			secteur_hexa(Thefrontwin);
			break;

		case AFFICHE_DECIMAL:
			affichage_decimal(Thefrontwin);
			break;

		case FICHIER_ASSOCIE:
			secteur_file(Thefrontwin);
			break;

		case CURSEUR_VISIBLE:
			curseur_on(Thefrontwin);
			break;

		case CLIPBOARD_GEM:
			clipboard_gem(Thefrontwin);
			break;

						/* menu Aide */

		case TABLE_ASCII:
			AsciiChar = m_ascii_box(AsciiChar, FALSE);
			break;

		case AIDE:
			aide();
			break;

		case EXECUTER_PROG:
			lance_prg();
			break;

		case RESET:
			if (Reset)
			{
				Reset = FALSE;
				menu_icheck(Menu, RESET, 0);
			}
			else
			{
				int button;

				button = my_alert(2, 3, X_ICN_QUESTION, Messages(MENU_3), Messages(MENU_5));
				if (button == 1)
					shutdown(TRUE);
				else
					if (button == 0)
						reset();
			}
			break;
	}

	return TRUE;
} /* MenuSelect */
Exemplo n.º 19
0
/****************************************************************
*																*
*				cherche une chaŒne dans le tampon				*
*																*
****************************************************************/
void search_tampon(windowptr thewin, boolean diff_majmin)
{
	register char *buffer, search_char;
	register int i, j;
	int start, curseur_x = thewin -> fonction.fichier.curseur_x, curseur_y = thewin -> fonction.fichier.curseur_y;

	buffer = Tampon -> fonction.tampon.secteurBin;
	start = curseur_x < 0 ? 0 : thewin -> fonction.fichier.curseur_y*32 + curseur_x/2 +1;

	search_char = SearchString[0];
	if (diff_majmin)
	{
		for (i=start; i<512; i++)
			if (buffer[i] == search_char)
			{
				for (j=1; j<SearchLength && i+j<512 && buffer[i+j] == SearchString[j]; j++)
					;
				if (j == SearchLength)
				{
					thewin -> fonction.fichier.curseur_x = 2*(i&31);
					thewin -> fonction.fichier.curseur_y = i/32;
					if (curseur_x < 0)
					{
						update_curseur(thewin, 2*(i&31), i/32, FAIL, FAIL, FALSE);
						menu_icheck(Menu, CURSEUR_VISIBLE, 1);
					}
					else
						update_curseur(thewin, 2*(i&31), i/32, curseur_x, curseur_y, FALSE);

					Efface = FALSE;
					redraw_window(thewin -> win, &thewin -> win -> work);
					return;
				}
			}
	}
	else
	{
		for (i=start; i<512; i++)
			if ((buffer[i] & 0xDF) == (search_char & 0xDF))
			{
				for (j=1; j<SearchLength && i+j<512 && (buffer[i+j] & 0xDF) == (SearchString[j] & 0xDF); j++)
					;
				if (j == SearchLength)
				{
					thewin -> fonction.fichier.curseur_x = 2*(i&31);
					thewin -> fonction.fichier.curseur_y = i/32;
					if (curseur_x < 0)
					{
						update_curseur(thewin, 2*(i&31), i/32, FAIL, FAIL, FALSE);
						menu_icheck(Menu, CURSEUR_VISIBLE, 1);
					}
					else
						update_curseur(thewin, 2*(i&31), i/32, curseur_x, curseur_y, FALSE);

					Efface = FALSE;
					redraw_window(thewin -> win, &thewin -> win -> work);
					return;
				}
			}
	}
} /* search_tampon */
Exemplo n.º 20
0
static void form_event(int index, int external)
{
    char spare[255];
    bool is_button = false;
    bool checked = OBJ_SELECTED(index);
    char * tmp;
    MENU pop_menu, me_data;

    /* For font driver popup: */
    int num_font_drivers = 2;

    /*
    	Just a small collection of locales, each country has at least one
    	ATARI-clone user! :)
    */
    int num_locales = 15;
    short x, y;
    int choice, i;

    switch(index) {

    case SETTINGS_SAVE:
		OBJ_UNCHECK(index);
        OBJ_REDRAW(index);
        save_settings();
        break;

    case SETTINGS_ABORT:
		OBJ_UNCHECK(index);
        OBJ_REDRAW(index);
        close_settings();
        break;

    case SETTINGS_CB_USE_PROXY:
        if( checked ) {
            ENABLE_OBJ(SETTINGS_EDIT_PROXY_HOST);
            ENABLE_OBJ(SETTINGS_EDIT_PROXY_PORT);
            ENABLE_OBJ(SETTINGS_CB_PROXY_AUTH);
        } else {
            DISABLE_OBJ(SETTINGS_EDIT_PROXY_HOST);
            DISABLE_OBJ(SETTINGS_EDIT_PROXY_PORT);
            DISABLE_OBJ(SETTINGS_CB_PROXY_AUTH);
        }
        FORMEVENT(SETTINGS_CB_PROXY_AUTH);
        OBJ_REDRAW(SETTINGS_CB_USE_PROXY);
        break;

    case SETTINGS_CB_PROXY_AUTH:
        if( checked && OBJ_SELECTED( SETTINGS_CB_USE_PROXY ) ) {
            ENABLE_OBJ(SETTINGS_EDIT_PROXY_USERNAME);
            ENABLE_OBJ(SETTINGS_EDIT_PROXY_PASSWORD);
        } else {
            DISABLE_OBJ(SETTINGS_EDIT_PROXY_USERNAME);
            DISABLE_OBJ(SETTINGS_EDIT_PROXY_PASSWORD);
        }
        break;

    case SETTINGS_CB_ENABLE_ANIMATION:
        if( checked ) {
            ENABLE_OBJ( SETTINGS_EDIT_MIN_GIF_DELAY );
        } else {
            DISABLE_OBJ( SETTINGS_EDIT_MIN_GIF_DELAY );
        }
        break;

    case SETTINGS_BT_SEL_FONT_RENDERER:
        if( external ) {
            objc_offset(dlgtree, SETTINGS_BT_SEL_FONT_RENDERER, &x, &y);
            // point mn_tree tree to states popup:
            pop_menu.mn_tree = gemtk_obj_get_tree(POP_FONT_RENDERER);
            pop_menu.mn_menu = 0;
            pop_menu.mn_item = POP_FONT_RENDERER_INTERNAL;
            pop_menu.mn_scroll = SCROLL_NO;
            pop_menu.mn_keystate = 0;

			// find the selected menu item and uncheck others:
            for(i=pop_menu.mn_item; i<=num_font_drivers; i++) {
                get_string(pop_menu.mn_tree, i, spare);
                tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_FONT_RENDERER);
                if (strcasecmp(&spare[2], tmp)) {
                    menu_icheck(pop_menu.mn_tree, i, 0);
                } else {
                    menu_icheck(pop_menu.mn_tree, i, 1);
                }
                set_string(pop_menu.mn_tree, i, spare);
            }

            menu_popup(&pop_menu, x, y, &me_data);
            choice = me_data.mn_item;
            if( choice > 0 && choice <= num_font_drivers ) {
                get_string(pop_menu.mn_tree, choice, spare);
                for(i=2; i<(int)strlen(spare); i++) {
                    spare[i]= (char)tolower(spare[i]);
                }
                set_text(SETTINGS_BT_SEL_FONT_RENDERER,
                         (char*)&spare[2],
                         LABEL_FONT_RENDERER_MAX_LEN);
                OBJ_REDRAW(SETTINGS_BT_SEL_FONT_RENDERER);
            }
        }
        tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_FONT_RENDERER);
        if (strcasecmp(tmp, "freetype") == 0) {
            ENABLE_OBJ(SETTINGS_CB_ANTI_ALIASING);
        } else {
            DISABLE_OBJ(SETTINGS_CB_ANTI_ALIASING);
        }
        break;

    case SETTINGS_BT_SEL_LOCALE:
        objc_offset(dlgtree, SETTINGS_BT_SEL_LOCALE, &x, &y);

        // point mn_tree tree to states popup:
        pop_menu.mn_tree = gemtk_obj_get_tree(POP_LANGUAGE);
        pop_menu.mn_menu = 0;
        pop_menu.mn_item = POP_LANGUAGE_CS;
        pop_menu.mn_scroll = SCROLL_NO;
        pop_menu.mn_keystate = 0;

		// find the selected menu item and uncheck others:
        for(i=pop_menu.mn_item; i<=num_locales; i++) {
            get_string(pop_menu.mn_tree, i, spare);
            tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_LOCALE);
            if (strcasecmp(&spare[2], tmp)) {
                menu_icheck(pop_menu.mn_tree, i, 0);
            } else {
                menu_icheck(pop_menu.mn_tree, i, 1);
            }
            set_string(pop_menu.mn_tree, i, spare);
        }


        menu_popup(&pop_menu, x, y, &me_data);
        choice = me_data.mn_item;
        if( choice > 0 && choice <= num_locales ) {
            get_string(pop_menu.mn_tree, choice, spare);
            for(i=2; i<(int)strlen(spare); i++) {
                spare[i]= (char)tolower(spare[i]);
            }
            set_text(SETTINGS_BT_SEL_LOCALE, (char*)&spare[2], 5);
        }

        OBJ_REDRAW(SETTINGS_BT_SEL_LOCALE);
        break;

        /*
        		case SETTINGS_INPUT_TOOLBAR_BGCOLOR:
        			objc_offset( FORM(win), SETTINGS_INPUT_TOOLBAR_BGCOLOR, &x, &y );
        			choice = color_popup(x, y, tmp_option_atari_toolbar_bg);
        			snprintf( spare, 255, "%06x", choice );
        			tmp_option_atari_toolbar_bg = choice;
        			ObjcStrCpy( dlgtree, SETTINGS_INPUT_TOOLBAR_BGCOLOR,
        							spare );
        			is_button = true;
        			OBJ_REDRAW(SETTINGS_INPUT_TOOLBAR_BGCOLOR);
        			break;
        */
        /*
        		case SETTINGS_BT_TOOLBAR_ICONSET:
        			objc_offset( FORM(win), SETTINGS_BT_TOOLBAR_ICONSET, &x, &y );
        			tmp = toolbar_iconset_popup(x,y);
        			if( tmp != NULL ){
        				ObjcStrCpy( dlgtree, SETTINGS_BT_TOOLBAR_ICONSET, tmp );
        			}
        			is_button = true;
        			break;
        */
    case SETTINGS_INC_MEM_CACHE:
    case SETTINGS_DEC_MEM_CACHE:
        if( index == SETTINGS_DEC_MEM_CACHE )
            tmp_option_memory_cache_size -= 0.1;
        else
            tmp_option_memory_cache_size += 0.1;

        if( tmp_option_memory_cache_size < 0.5 )
            tmp_option_memory_cache_size = 0.5;
        if( tmp_option_memory_cache_size > 999.9 )
            tmp_option_memory_cache_size = 999.9;
        snprintf( spare, 255, "%03.1f", tmp_option_memory_cache_size );
        set_text( SETTINGS_STR_MAX_MEM_CACHE, spare, 5 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_STR_MAX_MEM_CACHE);
        break;

    case SETTINGS_INC_CACHED_CONNECTIONS:
    case SETTINGS_DEC_CACHED_CONNECTIONS:
        if( index == SETTINGS_INC_CACHED_CONNECTIONS )
            tmp_option_max_cached_fetch_handles += 1;
        else
            tmp_option_max_cached_fetch_handles -= 1;
        if( tmp_option_max_cached_fetch_handles > 31 )
            tmp_option_max_cached_fetch_handles = 31;

        snprintf( spare, 255, "%02d", tmp_option_max_cached_fetch_handles );
        set_text( SETTINGS_EDIT_MAX_CACHED_CONNECTIONS, spare, 2 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_MAX_CACHED_CONNECTIONS);
        break;

    case SETTINGS_INC_MAX_FETCHERS:
    case SETTINGS_DEC_MAX_FETCHERS:
        if( index == SETTINGS_INC_MAX_FETCHERS )
            tmp_option_max_fetchers += 1;
        else
            tmp_option_max_fetchers -= 1;
        if( tmp_option_max_fetchers > 31 )
            tmp_option_max_fetchers = 31;

        snprintf( spare, 255, "%02d", tmp_option_max_fetchers );
        set_text( SETTINGS_EDIT_MAX_FETCHERS, spare, 2 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_MAX_FETCHERS);
        break;

    case SETTINGS_INC_MAX_FETCHERS_PER_HOST:
    case SETTINGS_DEC_MAX_FETCHERS_PER_HOST:
        if( index == SETTINGS_INC_MAX_FETCHERS_PER_HOST )
            tmp_option_max_fetchers_per_host += 1;
        else
            tmp_option_max_fetchers_per_host -= 1;
        if( tmp_option_max_fetchers_per_host > 31 )
            tmp_option_max_fetchers_per_host = 31;

        snprintf( spare, 255, "%02d", tmp_option_max_fetchers_per_host );
        set_text( SETTINGS_EDIT_MAX_FETCHERS_PER_HOST, spare, 2 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_MAX_FETCHERS_PER_HOST);
        break;

    case SETTINGS_INC_HISTORY_AGE:
    case SETTINGS_DEC_HISTORY_AGE:
        if( index == SETTINGS_INC_HISTORY_AGE )
            tmp_option_expire_url += 1;
        else
            tmp_option_expire_url -= 1;

        if( tmp_option_expire_url > 99 )
            tmp_option_expire_url =  0;

        snprintf( spare, 255, "%02d", tmp_option_expire_url );
        set_text( SETTINGS_EDIT_HISTORY_AGE, spare, 2 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_HISTORY_AGE);
        break;

    case SETTINGS_INC_GIF_DELAY:
    case SETTINGS_DEC_GIF_DELAY:
        if( index == SETTINGS_INC_GIF_DELAY )
            tmp_option_minimum_gif_delay += 0.1;
        else
            tmp_option_minimum_gif_delay -= 0.1;

        if( tmp_option_minimum_gif_delay < 0.1 )
            tmp_option_minimum_gif_delay = 0.1;
        if( tmp_option_minimum_gif_delay > 9.0 )
            tmp_option_minimum_gif_delay = 9.0;
        snprintf( spare, 255, "%01.1f", tmp_option_minimum_gif_delay );
        set_text( SETTINGS_EDIT_MIN_GIF_DELAY, spare, 3 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_MIN_GIF_DELAY);
        break;

    case SETTINGS_INC_MIN_FONT_SIZE:
    case SETTINGS_DEC_MIN_FONT_SIZE:
        if( index == SETTINGS_INC_MIN_FONT_SIZE )
            tmp_option_font_min_size += 1;
        else
            tmp_option_font_min_size -= 1;

        if( tmp_option_font_min_size > 500 )
            tmp_option_font_min_size = 500;
        if( tmp_option_font_min_size < 10 )
            tmp_option_font_min_size = 10;

        snprintf( spare, 255, "%03d", tmp_option_font_min_size );
        set_text( SETTINGS_EDIT_MIN_FONT_SIZE, spare, 3 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_MIN_FONT_SIZE);
        break;

    case SETTINGS_INC_DEF_FONT_SIZE:
    case SETTINGS_DEC_DEF_FONT_SIZE:
        if( index == SETTINGS_INC_DEF_FONT_SIZE )
            tmp_option_font_size += 1;
        else
            tmp_option_font_size -= 1;

        if( tmp_option_font_size > 999 )
            tmp_option_font_size = 999;
        if( tmp_option_font_size < 50 )
            tmp_option_font_size = 50;

        snprintf( spare, 255, "%03d", tmp_option_font_size );
        set_text( SETTINGS_EDIT_DEF_FONT_SIZE, spare, 3 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_DEF_FONT_SIZE);
        break;

    case SETTINGS_INC_INCREMENTAL_REFLOW:
    case SETTINGS_DEC_INCREMENTAL_REFLOW:
        if( index == SETTINGS_INC_INCREMENTAL_REFLOW )
            tmp_option_min_reflow_period += 1;
        else
            tmp_option_min_reflow_period -= 1;

        if( tmp_option_min_reflow_period > 9999 )
            tmp_option_min_reflow_period = 10;

        snprintf( spare, 255, "%04d", tmp_option_min_reflow_period );
        set_text( SETTINGS_EDIT_MIN_REFLOW_PERIOD, spare, 4 );
        is_button = true;
        OBJ_REDRAW(SETTINGS_EDIT_MIN_REFLOW_PERIOD);
        break;

    default:
        break;
    }

    if( is_button ) {
        // remove selection indicator from button element:
        OBJ_UNCHECK(index);
        OBJ_REDRAW(index);
    }
}
Exemplo n.º 21
0
/* driver_handler()
 * ================================================================
 */
int
driver_handler( void )
{
    int   msg[8];
    int   button;
    int   done;
    GRECT clip;
    int   dummy;
    MENU  Menu;
    MENU  MData;
    GRECT rect;

    done = FALSE;
    do
    {
      button = xform_do( ad_tree, 0, msg );

      switch( button )
      {
	 case DSETUP:   done = TRUE;
			Deselect( DSETUP );
			break;

	 case DEXIT:    CheckExit();
			deselect( ad_tree, DEXIT );
			break;

	 case PMETA:
	 case PMETA2: 	gl_meta ^= 1;
			if( gl_meta )
			{
		          objc_xywh( ad_driver, PMETA2, &clip );
			  msg[3] = wid;
			  msg[4] = clip.g_x;
			  msg[5] = clip.g_y;
			  msg[6] = clip.g_w;
			  msg[7] = clip.g_h;
        		  driver_redraw( msg );
			}
			else
			  ObjcDraw( ad_driver, PMETA2, MAX_DEPTH, NULL );
		        evnt_button( 1, 1, 0, &dummy, &dummy, &dummy, &dummy );
			break;

	 case PMEM:
	 case PMEM2:	gl_mem ^= 1;
			if( gl_mem )
			{
		          objc_xywh( ad_driver, PMEM2, &clip );
			  msg[3] = wid;
			  msg[4] = clip.g_x;
			  msg[5] = clip.g_y;
			  msg[6] = clip.g_w;
			  msg[7] = clip.g_h;
        		  driver_redraw( msg );
			}
			else
			  ObjcDraw( ad_driver, PMEM2, MAX_DEPTH, NULL );
		        evnt_button( 1, 1, 0, &dummy, &dummy, &dummy, &dummy );
			break;

	 case PBUTTON:  select( ad_driver, PBUTTON );
		        evnt_button( 1, 1, 0, &dummy, &dummy, &dummy, &dummy );
			select( ad_driver, PTITLE );

			objc_xywh( ad_driver, PBUTTON, &rect );
			Menu.mn_tree   = ad_submenu;
			Menu.mn_menu   = ROOT;
			Menu.mn_item   = SNONE + gl_printer;
			Menu.mn_scroll = FALSE;	
			if( menu_popup( &Menu, rect.g_x, rect.g_y, &MData ))
			{
			   menu_icheck( ad_submenu, SNONE + gl_printer, 0 );
			   gl_printer = MData.mn_item - SNONE;
			   menu_icheck( ad_submenu, SNONE + gl_printer, 1 );
			   if( gl_printer )
			   {
		     	      ObString( PBUTTON ) = MenuNode[ gl_printer ].name;
			   }
			   else
			     ObString( PBUTTON ) = anone;
			}
			deselect( ad_driver, PTITLE );
			Deselect( PBUTTON );
			objc_xywh( ad_driver, PBUTTON, &rect );
			rect.g_x -= 1;
			rect.g_w += 2;
			ObjcDraw( ad_driver, PBUTTON, MAX_DEPTH, &rect );
			break;

	 default: if( button == NIL )
		  {
		     switch( msg[0] )
		     {
			case  WM_REDRAW: driver_redraw( msg );
					 break;

		        case  WM_CLOSED: return( FALSE );
					 break;

			case  CT_KEY:    if( msg[3] == K_F10 )
					   CheckExit();
					 break;
			default:
				 break;
		     }
		  }
		  break;
      }
    }while( !done );
    return( TRUE );
}
Exemplo n.º 22
0
/* MAIN()
 * ================================================================
 */
VOID
main( VOID )
{
	OBJECT  *tree;
	WORD    i;
	WORD    button;
	GRECT   box;
	GRECT   xrect;
        WORD    tempx;

        GRECT   rect;
        MRETS   mk;
	
        WORD    ptitle, pitem, pmenu;
	OBJECT  *ptree;
        BOOLEAN flag;
	BOOLEAN done;
	WORD    dummy;

        WORD	xvalue;

        
	appl_init();

	phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox );

        graf_mouse( ARROW, 0L );
        
        rsrc_load( "TEST.RSC" );

        rsrc_gaddr( 0, MENU1, &ad_tree );
	rsrc_gaddr( 0, BIGBOX, &ad_box );
        rsrc_gaddr( 0, COUNTRY, &ad_country );
	rsrc_gaddr( 0, OTHER, &ad_other );
        rsrc_gaddr( 0, MENUBAR, &ad_menubar );
	rsrc_gaddr( 0, TREE6, &ad_extra );

	ad_other[ ROOT ].ob_x = ad_other[ ROOT ].ob_y = 0;
#if 0
	/* test setting delay and height variables */
	TData.Delay  = 100L;
	TData.Drag   = 10000L;
	TData.Delay  = 250L;
	TData.Speed  = 0L;
	TData.Height = 16;
	menu_settings( 1, &TData );
#endif

	/* test attaching submenus */
	Menu.mn_tree   = ad_country;
	Menu.mn_menu   = ROOT;
        Menu.mn_item   = Cur2;
	Menu.mn_scroll = TRUE;
	menu_attach( 1, ad_tree, DELETE, &Menu );

	Menu.mn_tree   = ad_other;
	Menu.mn_menu   = DISNEY;
        Menu.mn_item   = MICKEY;
	Menu.mn_scroll = FALSE;
	menu_attach( 1, ad_tree, FLOPPY, &Menu );

	Menu.mn_tree   = ad_other;
	Menu.mn_menu   = MODEM;
        Menu.mn_item   = Cur3;
	Menu.mn_scroll = FALSE;
        menu_attach( 1, ad_country, 5, &Menu );

	Menu.mn_tree   = ad_other;
	Menu.mn_menu   = DISNEY;
        Menu.mn_item   = MICKEY;
	Menu.mn_scroll = FALSE;
        menu_attach( 1, ad_country, 1, &Menu );

	Menu.mn_tree   = ad_other;
	Menu.mn_menu   = DISNEY;
        Menu.mn_item   = MICKEY;
	Menu.mn_scroll = FALSE;
	menu_attach( 1, ad_country, ARKANSAS, &Menu );

	Menu.mn_tree   = ad_other;
	Menu.mn_menu   = QUOTES;
        Menu.mn_item   = Cur4;
	Menu.mn_scroll = FALSE;
	menu_attach( 1, ad_other, 5, &Menu );

	Menu.mn_tree   = ad_country;
	Menu.mn_menu   = ROOT;
        Menu.mn_item   = Cur2;
	Menu.mn_scroll = TRUE;
	menu_attach( 1, ad_menubar, PASTE, &Menu );

	Menu.mn_tree   = ad_country;
	Menu.mn_menu   = ROOT;
        Menu.mn_item   = Cur2;
	Menu.mn_scroll = TRUE;
	menu_attach( 1, ad_menubar, FNEW, &Menu );

        menu_icheck( ad_tree, Cur1, 1 );
	menu_icheck( ad_country, Cur2, 1 );
	menu_icheck( ad_other, Cur3, 1 );
	menu_icheck( ad_other, Cur4, 1 );
	menu_icheck( ad_other, Cur5, 1 );

	ActiveTree( ad_box );

        form_center( ad_box, &rect.g_x, &rect.g_y, &rect.g_w, &rect.g_h );

	ObX( ROOT ) = rect.g_x;
        xrect = ObRect( TITLE1 );
        objc_offset( ad_box, TITLE1, &xrect.g_x, &xrect.g_y );
	tempx = xrect.g_x;
        xrect.g_x = (( xrect.g_x + 7 )/8 ) * 8;
	rect.g_x = rect.g_x + ( xrect.g_x - tempx );
	ObX( ROOT ) = rect.g_x;
	rect.g_x -= 3;

	form_dial( FMD_START, rect.g_x, rect.g_y, rect.g_w, rect.g_h,
			      rect.g_x, rect.g_y, rect.g_w, rect.g_h );
	objc_draw( ad_box, ROOT, MAX_DEPTH, rect.g_x, rect.g_y,
					    rect.g_w, rect.g_h );

        do
        {
	  ActiveTree( ad_box );
          button = form_do( ad_box, 0L );

	  switch( button )
	  {
	    case TITLE1:
			 box = ObRect( TITLE1 );
			 objc_offset( ad_box, TITLE1, &box.g_x, &box.g_y );
			 
			 Menu.mn_tree   = ad_tree;
			 Menu.mn_menu   = ROOT;
			 Menu.mn_item   = Cur1;
			 Menu.mn_scroll = FALSE;
			 flag = menu_popup( &Menu, box.g_x, box.g_y, &MData );
			 if( flag )
			   MenuCheck( MData.mn_tree,
				      MData.mn_menu, 
				      MData.mn_item );
			 break;

            case TITLE2:
			 box = ObRect( TITLE2 );
			 objc_offset( ad_box, TITLE2, &box.g_x, &box.g_y );

			 Menu.mn_tree   = ad_country;
			 Menu.mn_menu   = ROOT;
			 Menu.mn_item   = Cur2;
			 Menu.mn_scroll = TRUE;
			 flag = menu_popup( &Menu, box.g_x, box.g_y, &MData );
			 if( flag )
			   MenuCheck( MData.mn_tree,
				      MData.mn_menu,
				      MData.mn_item );
			 break;

            case TITLE3:
			 box = ObRect( TITLE3 );
			 objc_offset( ad_box, TITLE3, &box.g_x, &box.g_y );

			 Menu.mn_tree   = ad_other;
			 Menu.mn_menu   = MODEM;
			 Menu.mn_item   = Cur3;
			 Menu.mn_scroll = FALSE;
			 flag = menu_popup( &Menu, box.g_x, box.g_y, &MData );
			 if( flag )
			   MenuCheck( MData.mn_tree,
				      MData.mn_menu,
				      MData.mn_item );
			 break;

            case TITLE4:
			 box = ObRect( TITLE4 );
			 objc_offset( ad_box, TITLE4, &box.g_x, &box.g_y );

			 Menu.mn_tree   = ad_other;
			 Menu.mn_menu   = QUOTES;
			 Menu.mn_item   = Cur4;
			 Menu.mn_scroll = FALSE;
			 flag = menu_popup( &Menu, box.g_x, box.g_y, &MData );
			 if( flag )
			   MenuCheck( MData.mn_tree,
				      MData.mn_menu,
				      MData.mn_item );
			 break;

            default:
			break;
          }

        }while( button != XEXIT );

	form_dial( FMD_FINISH, rect.g_x, rect.g_y, rect.g_w, rect.g_h,
			       rect.g_x, rect.g_y, rect.g_w, rect.g_h );

        evnt_button( 1, 1, 0, &dummy, &dummy, &dummy, &dummy );



       /* display menubar stuff here */
        ActiveTree( ad_menubar );
        menu_bar( ad_menubar, TRUE );

        
	do
	{
	    evnt_mesag( msg );
	    if( msg[0] == MN_SELECTED )
	    {
		/* msg[7] is the parent of FQUIT - which the user can't know */
		ptr = &msg[5];
		if( ( *ptr == ad_menubar ) &&
                    ( msg[4] == FQUIT )
		  )
                {
		  button = form_alert( 1, "[1][ |  EXIT PROGRAM? ][OK|Cancel]");
		  if( button == 1 )
		    done = TRUE;
                }  
		else
		    MenuCheck( *ptr, msg[7], msg[4] );
		menu_tnormal( ad_menubar, msg[3], TRUE );
            }	
	}while( !done );
        menu_bar( ad_menubar, FALSE );

        rsrc_free();
	graf_mouse( ARROW, 0L );
	appl_exit();
}
Exemplo n.º 23
0
/*! menu in window events */
void event_wmenu(int *flacc) {
	int i;

	if(buf[5] == WINDMENU) {
		switch(buf[4] - 3) {	/* 3 objets have been added to the menu */
		
		case MW_IMAGE :
			charge_image();
			break;
		
		case MW_ALERTE :
			big_alert(2, ALERT, "", TRUE);
			if(win[buf[5]].w_bar[buf[4]].ob_state & CHECKED)
				menu_icheck(win[buf[5]].w_bar, buf[4], FALSE);
			else
				menu_icheck(win[buf[5]].w_bar, buf[4], TRUE);
			win[buf[5]].w_bar[buf[3]].ob_state &= ~SELECTED;
			draw_object(buf[3], buf[5]);
			break;
		}	/* end switch */
	}	/* event for main menu not running as an accessory */
	else if(buf[5] == WINDACC) {		
		switch(buf[4] - 3)	{	/* 3 objets added to main menu */
		
		case M_ALERTE :
			big_alert(2, ALERT, "", TRUE);
			win[buf[5]].w_bar[buf[3]].ob_state &= ~SELECTED;
			draw_object(buf[3], buf[5]);
			break;
		
		case M_WMENU :
			win[buf[5]].w_bar[buf[3]].ob_state &= ~SELECTED;
			draw_object(buf[3], buf[5]);
			if(win[WINDMENU].w_hg <= ZERO) {
				win[WINDMENU].w_pal =(Palette *)malloc(work_display.n_color *sizeof(Palette));
				for(i = 0 ; i < work_display.n_color ; i++) {
					win[WINDMENU].w_pal[i][0] = work_display.palette[i][0];
					win[WINDMENU].w_pal[i][1] = work_display.palette[i][1];
					win[WINDMENU].w_pal[i][2] = work_display.palette[i][2];
				}
				open_window(WINDMENU, WTYP_PICT, WATR_CURRB,
					bureau.xd +(bureau.wd / 5), bureau.yd +(bureau.hd / 5), 320, 150,
					100, 100, 200, 200, 16, 16,
					WFARROW, THIN_CROSS,
					winicn, ZERO, close_wmenu, get_string(TIT_MENU), "",
					(long) bureau.wd,(long) bureau.hd,
					TRUE, FALSE, W_MENU, 10, BLACK);
			}
			else {
				buf[3] = win[WINDMENU].w_hg;
				(*win[WINDMENU].w_top)();
			}
			break;
		
		case M_QUITTER :
			clos_acc();
			win[buf[5]].w_bar[buf[3]].ob_state &= ~SELECTED;
			*flacc = FALSE;
			break;
		} /* end of switch */
	}	/* event for main menu running as accessory */
}	/* end of event_wmenu */
Exemplo n.º 24
0
int handle_menu(RESULT svar)
{
  
  if(svar.data[SVAR_OBJECT_MENU_ROW]!=FAIL)
    objc_change(menu_tree,svar.data[SVAR_OBJECT_MENU_ROW],0,0,0,0,0,0,O_REDRAW);

  switch(svar.data[SVAR_OBJECT])
  {
    case MENU_INFO:
      menu_icheck(menu_tree,MENU_INFO,TRUE);
      menu_ienable(menu_tree,MENU_INFO,FALSE);
      open_dialog(&info_win,NULL);
      break;
    case MENU_FILE_DISABL:
      deinit_port();
      break;
    case MENU_FILE_ENABLE:
      config->disabled=FALSE;
      init_port();
      break;
    case MENU_LIST_OWIND:
      open_listwin();
      break;
    case MENU_LIST_SAVE:
      if(!tempvar.accessory)
      {
        save_list();
        tempvar.list_change=FALSE;
      }
      break;
    case MENU_LIST_EXPORT:
      menu_icheck(menu_tree,MENU_LIST_EXPORT,TRUE);
      menu_ienable(menu_tree,MENU_LIST_EXPORT,FALSE);
      open_exportwin(TRUE);
    case MENU_SAVE_SETUP:
      save_datafile(TRUE,CONFIGFILE,(char *)config,sizeof(CONFIG));
      tempvar.conf_change=FALSE;
      break;
    case MENU_SETUP:
      menu_icheck(menu_tree,MENU_SETUP,TRUE);
      menu_ienable(menu_tree,MENU_SETUP,FALSE);
      set_timer(FAIL);
      open_setupwin();
      break;
    case MENU_LOG_VIEW:
      open_logwin();
      break;
    case MENU_QUIT:
      if(config->save_exit)
      {
        save_datafile(TRUE,CONFIGFILE,(char *)config,sizeof(CONFIG));
        if(!tempvar.accessory)
        {
          save_list();
          tempvar.list_change=FALSE;
        }
        tempvar.conf_change=FALSE;
      }
      if(tempvar.conf_change)
        if(alertbox(1,alerts[Q_SAVE_CONF_EXIT])==1)
          save_datafile(TRUE,CONFIGFILE,(char *)config,sizeof(CONFIG));
      if((tempvar.list_change)&&(!tempvar.accessory))
        if(alertbox(1,alerts[Q_SAVE_LIST_EXIT])==1)
          save_list();
      return(FALSE);
      break;
    case MENU_HELP_INDEX:
    {
      long stguide_id;
      char temprow[MAXSTRING];
      stguide_id=appl_find("ST-GUIDE");
      strcpy(temprow,"*:\\firecall.hyp");
      if(stguide_id!=FAIL)
      {
        svar.data[0]=(short)0x4711;
        svar.data[1]=(short)ap_id;
        svar.data[2]=(short)0;
        svar.data[3]=(short)temprow >> 16;
        svar.data[4]=(short)temprow & 0xffff;
        svar.data[5]=(short)0;
        svar.data[6]=(short)0;
        svar.data[7]=(short)0;
        appl_write(stguide_id,16,svar.data);
      }
      break;
    }  
    default:
      break;
  }
Exemplo n.º 25
0
static void __CDECL menu_vlog(short item, short title, void *data)
{
	LOG(("%s", __FUNCTION__));
	verbose_log = !verbose_log;
	menu_icheck(h_gem_menu, MAINMENU_M_VLOG, (verbose_log) ? 1 : 0);
}
Exemplo n.º 26
0
/* MAIN()
 * ================================================================
 */
VOID
main( VOID )
{
	WORD    button;
	BOOLEAN done;
	OBJECT  *tree;
       

	appl_init();

	phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox );

	open_vwork();
	
        graf_mouse( ARROW, 0L );
        
        rsrc_load( "DEMO.RSC" );

        rsrc_gaddr( 0, MENUBAR, &ad_menubar );
        rsrc_gaddr( 0, ATREE, &ad_tree );
	rsrc_gaddr( 0, FONTTREE, &ad_fonts );
	rsrc_gaddr( 0, STREE, &ad_style );
	rsrc_gaddr( 0, POSTREE, &ad_position );
	rsrc_gaddr( 0, CTREE, &ad_color );
        rsrc_gaddr( 0, PTREE, &ad_pattern );
	rsrc_gaddr( 0, MTREE, &ad_modem );

	rsrc_gaddr( 0, BAUDRATE, &ad_baudrate );
	rsrc_gaddr( 0, PARTREE, &ad_parity );
	rsrc_gaddr( 0, BITTREE, &ad_bittree );
	rsrc_gaddr( 0, STOPTREE, &ad_stoptree );
	rsrc_gaddr( 0, PORTTREE, &ad_porttree );
	rsrc_gaddr( 0, FLOWTREE, &ad_flowtree );

	rsrc_gaddr( 0, LTREE, &ad_list );
	rsrc_gaddr( 0, TOOLBOX, &ad_tools );
	rsrc_gaddr( 0, BLANK, &ad_blank );
	rsrc_gaddr( 0, TOOLBOX2, &ad_box2 );
	rsrc_gaddr( 0, TOOLBAR, &ad_box3 );

	rsrc_gaddr( 0, FONT2, &ad_font2 );


	/* Attach all Submenus that are being attached */
	AttachMenus();


	/* CheckMark the Current Menu Items in their respective menus */
	menu_icheck( ad_baudrate, CurBaudRate, 1 );
	menu_icheck( ad_parity, CurParity, 1 );
	menu_icheck( ad_bittree, CurBits, 1 );
	menu_icheck( ad_stoptree, CurStopBits, 1 );
	menu_icheck( ad_porttree, CurPort, 1 );
	menu_icheck( ad_flowtree, CurFlow, 1 );

	menu_icheck( ad_style, CurStyle, 1 );
	menu_icheck( ad_position, CurPos, 1 );
	menu_icheck( ad_fonts, CurFonts, 1 );
	menu_icheck( ad_font2, CurFont2, 1 );

        /* display menubar stuff here */
        menu_bar( ad_menubar, TRUE );

	/* initialize windows */
        wind_get( 0, WF_FULLXYWH, &desk.g_x, &desk.g_y, &desk.g_w, &desk.g_h );
	cur_tree = ad_tools;
	menu_flag = TRUE;			/* Set Toggle Flags */
	SubFlag   = TRUE;
	ToolFlag  = TRUE;

	CurRect.g_x = desk.g_x;
	CurRect.g_y = desk.g_y;
	CurRect.g_w = 320;
	CurRect.g_h = 200;

	InitObjects();

	InitWindow();
	menu_ienable( ad_menubar, FOPEN, 0 );
	menu_ienable( ad_menubar, FCLOSE, 1 );



        done = FALSE;
	do
	{

	    evnt_mesag( msg );
	    
	    wind_update( BEG_UPDATE );

	    if( msg[0] == MN_SELECTED )
	    {
		/* msg[7] is the parent of FQUIT - which the user can't know */
		ptr = ( OBJECT **)&msg[5];
	if( *ptr == ad_menubar )
		{
		   switch( msg[4] )
		   {
		      case FQUIT:
				  button = form_alert( 1, "[1][ |  EXIT PROGRAM? ][OK|Cancel]");
				  if( button == 1 )
		 		      done = TRUE;
		       		  break;

		      case ABOUTX: execform( ad_tree, 0 );
				   break;

		      case PHONE: do_modem();
				  break;

		      case TABOUT: /* Enable, Disable About PLUS change TEXT */
				   menu_flag ^= 1;
				   menu_ienable( ad_menubar, ABOUTX, menu_flag );
				   menu_text( ad_menubar, TABOUT, TextAbout[ menu_flag ] );

				  if( menu_flag )
				    menu_text( ad_menubar, ABOUTX, "  About Demo...     " );
				  else
				    menu_text( ad_menubar, ABOUTX, "  Disabled...       " );
				  break;

		       case TSUB: /* Enable/Disable all Submenus */
				  SubFlag ^= 1;
				  menu_text( ad_menubar, TSUB, TextSubMenu[ SubFlag ] );
				  if( SubFlag )
				    AttachMenus();
				  else
				    DetachMenus();
				  break;

		       case SLISTS: DoList();			/* Do A Drop Down List Dialog */
				    break;

		       case TOOLFLAG: /* Enable/Disable ToolBox */
				      ToolFlag ^= 1;
				      menu_text( ad_menubar, TOOLFLAG, TextToolBox[ ToolFlag ] );
				      if( ToolFlag )
				      {
					*( (LONG *)&tree_data[0] ) = ( LONG )cur_tree;
					wind_set( wid, WF_TOOLBAR, tree_data[0], tree_data[1], dummy, dummy );
				      }
				      else
					wind_set( wid, WF_TOOLBAR, 0, 0, dummy, dummy );
				      break;

		        case SWITCH: /* Switch ToolBoxes */
					if( cur_tree == ad_tools )
					   cur_tree = ad_box2;
					else if( cur_tree == ad_box2 ) {
					         cur_tree = ad_box3;

					         ActiveTree( ad_fonts );
      						 textptr = ObString( CurFonts );
						 strncpy( &tbuff[0], &textptr[1], 28 );

      						 ActiveTree( ad_box3 );
      						 TedText( FBUTT1 ) = &tbuff[0];
					     }
					     else
					       cur_tree = ad_tools;
					*( (LONG *)&tree_data[0] ) = ( LONG )cur_tree;
					ToolFlag = TRUE;
	  	    		        menu_text( ad_menubar, TOOLFLAG, TextToolBox[ ToolFlag ] );
					wind_set( wid, WF_TOOLBAR, tree_data[0], tree_data[1], dummy, dummy );
				     break;

			case FCLOSE: /* close Window */
				     if( wid ) {
					wind_get( wid, WF_CURRXYWH,
						  &CurRect.g_x, &CurRect.g_y,
						  &CurRect.g_w, &CurRect.g_h );
			                wind_close( wid );
			                wind_delete( wid );
			                wid = 0;
					menu_ienable( ad_menubar, FCLOSE, 0 );
					menu_ienable( ad_menubar, FOPEN, 1 );
				     }
				     break;

			case FOPEN:  /* open Window */
				     if( !wid ) {
					InitWindow();
					menu_ienable( ad_menubar, FOPEN, 0 );
					menu_ienable( ad_menubar, FCLOSE, 1 );
				     }				 
				     break;

		      default:
				   break;
		   }
		}

		
		/* MENU SELECTED -> Font Style Menu Clicked on as a SUBMENU from the Menubar*/
		if( *ptr == ad_style )
		{
		   menu_icheck( ad_style, CurStyle, 0 );	/* Turn OFF Old Checkmark */
		   menu_icheck( ad_style, msg[4], 1 );		/* Turn ON New CheckMark  */
		   CurStyle = msg[4];				/* Update Current Var     */
		   menu_istart( 1, ad_style, ROOT, CurStyle );	/* Reset Starting Position*/
		}


		/* MENU SELECTED -> Font Position Clicked on as a SUBMENU from the menubar */
		if( *ptr == ad_position )
		{
		   menu_icheck( ad_position, CurPos, 0 );
		   menu_icheck( ad_position, msg[4], 1 );
		   CurPos = msg[4];
		   menu_istart( 1, ad_position, ROOT, CurPos );
		}


		/* MENU SELECTED -> Fonts Menu Clicked on as a SUBMENU from the menubar */
		if( *ptr == ad_fonts )
		{
		   menu_icheck( ad_fonts, CurFonts, 0 );
		   menu_icheck( ad_fonts, msg[4], 1 );
		   CurFonts = msg[4];
		   menu_istart( 1, ad_fonts, ROOT, CurFonts );
		}

		menu_tnormal( ad_menubar, msg[3], TRUE );
            }

	    if( msg[0] != MN_SELECTED ) {
		switch( msg[0] ) {
		   case WM_FULLED:
			DoFull( msg[3] );
			break;

		   case WM_REDRAW:
			 DoRedraw( msg );
			 break;

		   case WM_ARROWED:
		   case WM_HSLID:
		   case WM_VSLID:
			 break;

		   case WM_MOVED:
			 if( msg[3] == wid ) {
			    wind_set( wid, WF_CURRXYWH, msg[4],
				      msg[5], msg[6], msg[7] );
			 }
			 break;

		   case WM_TOPPED:
			 if( msg[3] == wid ) {
			    wind_set( wid, WF_TOP );
			 }
			 break;

		   case WM_CLOSED:
			 if( msg[3] == wid ) {
			    wind_get( wid, WF_CURRXYWH,
				      &CurRect.g_x, &CurRect.g_y,
				      &CurRect.g_w, &CurRect.g_h );

			    wind_close( wid );
			    wind_delete( wid );
			    wid = 0;
			    menu_ienable( ad_menubar, FCLOSE, 0 );
			    menu_ienable( ad_menubar, FOPEN, 1 );
			 }
			 break;

		   case WM_SIZED:
			DoSizer( msg );
			break;

		   case WM_TOOLBAR:
			if( msg[3] == wid ) {
			      /* Button Handling for ToolBox #1 */
			      if( cur_tree == ad_tools ) {
			        switch( msg[4] ) {
			           case T1B1:  button = B1B1;
				        break;
			           case T1B2:  button = B1B2;
				        break;
			           case T1B3:  button = B1B3;
				        break;
			           case T1B4:  button = B1B4;
				        break;
			           case T1B5:  button = B1B5;
				        break;
				}
			      }

			      /* Button Handling for TOOLBOX 2 */
			      if( cur_tree == ad_box2 ) {
			        switch( msg[4] ) {
			           case T2I1:  button = T2B1;
				        break;
			           case T2I2:  button = T2B2;
				        break;
			           case T2I3:  button = T2B3;
				        break;
			           case T2I4:  button = T2B4;
				        break;
			           case T2I5:  button = T2B5;
				        break;
				}
			      }

			      /* Word Processing Tree */
			      if( cur_tree == ad_box3 ) {
				switch( msg[4] ) {
				   case FBUTT1:
				   case FBUTT2: DoFonts();
						break;

				   default:
					    break;
				}
			      }



			   if( cur_tree != ad_box3 ) {
			     if( cur_tree[ button ].ob_state & SELECTED )
			       cur_tree[ button ].ob_state &= ~SELECTED;
			     else
			       cur_tree[ button ].ob_state |= SELECTED;

			     objc_offset( cur_tree, button, &r.g_x, &r.g_y );
			     r.g_x -= 2;
			     r.g_y -= 2;
			     r.g_w = cur_tree[ button ].ob_width + 4;
			     r.g_h = cur_tree[ button ].ob_height + 4;
			     do_redraw( cur_tree, button, &r );
			   }

			}  /* end of msg[3] == wid */
			break;

			case WM_ICONIFY:
			     if( msg[3] == wid )
			       wind_set( msg[3], WF_ICONIFY, msg[4], msg[5], msg[6], msg[7] );
			     break;

			case WM_UNICONIFY:
			     if( msg[3] == wid )
			       wind_set( msg[3], WF_UNICONIFY, msg[4], msg[5], msg[6], msg[7] );
			     break;

		   default:
			break;
		}  /* end of switch */
	    }
	    wind_update( END_UPDATE );
	    	    
	}while( !done );
	if( wid > 0 )
	   wind_delete( wid );

        menu_bar( ad_menubar, FALSE );
	
	graf_mouse( ARROW, 0L );	
	
        rsrc_free();

       	close_vwork();
	appl_exit();
}