예제 #1
0
파일: print.c 프로젝트: arczi84/NetSurf-68k
void ami_print_progress(void)
{
	ami_print_info.objects[OID_MAIN] = WindowObj,
      	    WA_ScreenTitle, ami_gui_get_screen_title(),
           	WA_Title, messages_get("Printing"),
           	WA_Activate, TRUE,
           	WA_DepthGadget, TRUE,
           	WA_DragBar, TRUE,
           	WA_CloseGadget, FALSE,
           	WA_SizeGadget, TRUE,
			WA_PubScreen,scrn,
			//WINDOW_SharedPort,sport,
			WINDOW_UserData, &ami_print_info,
			WINDOW_IconifyGadget, FALSE,
			WINDOW_LockHeight,TRUE,
         	WINDOW_Position, WPOS_CENTERSCREEN,
           	WINDOW_ParentGroup, ami_print_info.gadgets[GID_MAIN] = LayoutVObj,
				LAYOUT_AddChild, ami_print_info.gadgets[GID_STATUS] = FuelGaugeObj,
					GA_ID,GID_STATUS,
					FUELGAUGE_Min,0,
					FUELGAUGE_Max,ami_print_info.pages,
					FUELGAUGE_Level,0,
					FUELGAUGE_Ticks,11,
					FUELGAUGE_ShortTicks,TRUE,
					FUELGAUGE_Percent,TRUE,
					FUELGAUGE_Justification,FGJ_CENTER,
				FuelGaugeEnd,
				CHILD_NominalSize,TRUE,
				CHILD_WeightedHeight,0,
/*
				LAYOUT_AddChild, ami_print_info.gadgets[GID_CANCEL] = ButtonObj,
					GA_ID,GID_CANCEL,
					GA_Disabled,TRUE,
					GA_RelVerify,TRUE,
					GA_Text,messages_get("Abort"),
					GA_TabCycle,TRUE,
				ButtonEnd,
*/
			EndGroup,
		EndWindow;

	ami_print_info.win = (struct Window *)RA_OpenWindow(ami_print_info.objects[OID_MAIN]);
}
예제 #2
0
static struct gui_download_window *gui_download_window_create(download_context *ctx,
		struct gui_window *gui)
{
	const char *url = nsurl_access(download_context_get_url(ctx));
	unsigned long total_size = download_context_get_total_length(ctx);
	struct gui_download_window *dw;
	char *dl_filename = ami_utf8_easy(download_context_get_filename(ctx));
	APTR va[3];

	dw = ami_misc_allocvec_clear(sizeof(struct gui_download_window), 0);

	if(gui && (!IsListEmpty(&gui->dllist)) && (dw->dln = (struct dlnode *)FindName(&gui->dllist,url)))
	{
		strcpy(dw->fname, dw->dln->filename);
		free(dw->dln->node.ln_Name);
		dw->dln->node.ln_Name = NULL;
	}
	else
	{
		if(AslRequestTags(savereq,
			ASLFR_Window, gui->shared->win,
			ASLFR_SleepWindow, TRUE,
			ASLFR_TitleText, messages_get("NetSurf"),
			ASLFR_Screen, scrn,
			ASLFR_InitialFile, dl_filename,
			TAG_DONE))
		{
			strlcpy(dw->fname, savereq->fr_Drawer, 1024);
			AddPart((STRPTR)&dw->fname,savereq->fr_File,1024);
			if(!ami_download_check_overwrite(dw->fname, gui->shared->win, total_size))
			{
				FreeVec(dw);
				return NULL;
			}
		}
		else
		{
			FreeVec(dw);
			return NULL;
		}
	}

	if(dl_filename) ami_utf8_free(dl_filename);
	dw->size = total_size;
	dw->downloaded = 0;
	if(gui) dw->bw = gui->bw;
	dw->url = url;

	va[0] = (APTR)dw->downloaded;
	va[1] = (APTR)dw->size;
	va[2] = 0;

	if(!(dw->fh = FOpen((STRPTR)&dw->fname,MODE_NEWFILE,0)))
	{
		FreeVec(dw);
		return NULL;
	}

	dw->objects[OID_MAIN] = WindowObj,
      	    WA_ScreenTitle, ami_gui_get_screen_title(),
           	WA_Title, dw->url,
           	WA_Activate, TRUE,
           	WA_DepthGadget, TRUE,
           	WA_DragBar, TRUE,
           	WA_CloseGadget, FALSE,
           	WA_SizeGadget, TRUE,
			WA_PubScreen,scrn,
			WINDOW_SharedPort,sport,
			WINDOW_UserData,dw,
			WINDOW_IconifyGadget, FALSE,
			WINDOW_LockHeight,TRUE,
         	WINDOW_Position, WPOS_CENTERSCREEN,
           	WINDOW_ParentGroup, dw->objects[GID_MAIN] = LayoutVObj,
				LAYOUT_AddChild, dw->objects[GID_STATUS] = FuelGaugeObj,
					GA_ID,GID_STATUS,
					GA_Text,messages_get("amiDownload"),
					FUELGAUGE_Min,0,
					FUELGAUGE_Max,total_size,
					FUELGAUGE_Level,0,
					FUELGAUGE_Ticks,11,
					FUELGAUGE_ShortTicks,TRUE,
					FUELGAUGE_VarArgs,va,
					FUELGAUGE_Percent,FALSE,
					FUELGAUGE_Justification,FGJ_CENTER,
				FuelGaugeEnd,
				CHILD_NominalSize,TRUE,
				CHILD_WeightedHeight,0,
				LAYOUT_AddChild, dw->objects[GID_CANCEL] = ButtonObj,
					GA_ID,GID_CANCEL,
					GA_RelVerify,TRUE,
					GA_Text,messages_get("Abort"),
					GA_TabCycle,TRUE,
				ButtonEnd,
			EndGroup,
		EndWindow;

	dw->win = (struct Window *)RA_OpenWindow(dw->objects[OID_MAIN]);
	dw->ctx = ctx;

	dw->node = AddObject(window_list,AMINS_DLWINDOW);
	dw->node->objstruct = dw;

	downloads_in_progress++;

	return dw;
}
예제 #3
0
파일: search.c 프로젝트: EyMenZ/NetSurf-OS3
/**
 * Change the displayed search status.
 *
 * \param gwin gui window to open search for.
 */
void ami_search_open(struct gui_window *gwin)
{
	search_insert = true;

	if(fwin)
	{
		browser_window_search_clear(fwin->gwin->bw);
		fwin->gwin->shared->searchwin = NULL;
		fwin->gwin = gwin;
		gwin->shared->searchwin = fwin;
		WindowToFront(fwin->win);
		ActivateWindow(fwin->win);
		return;
	}

	fwin = ami_misc_allocvec_clear(sizeof(struct find_window), 0);

	fwin->objects[OID_MAIN] = WindowObj,
      	WA_ScreenTitle, ami_gui_get_screen_title(),
       	WA_Title,messages_get("FindTextNS"),
       	WA_Activate, TRUE,
       	WA_DepthGadget, TRUE,
       	WA_DragBar, TRUE,
       	WA_CloseGadget, TRUE,
       	WA_SizeGadget, TRUE,
		WA_PubScreen,scrn,
		WINDOW_SharedPort,sport,
		WINDOW_UserData,fwin,
		WINDOW_IconifyGadget, FALSE,
		WINDOW_LockHeight,TRUE,
         	WINDOW_Position, WPOS_CENTERSCREEN,
           	WINDOW_ParentGroup, fwin->objects[GID_MAIN] = LayoutVObj,
				LAYOUT_AddChild, fwin->objects[GID_SEARCHSTRING] = StringObj,
					GA_ID,GID_SEARCHSTRING,
					GA_TabCycle,TRUE,
					GA_RelVerify,TRUE,
				StringEnd,
				CHILD_WeightedHeight,0,
				LAYOUT_AddChild, fwin->objects[GID_CASE] = CheckBoxObj,
					GA_ID,GID_CASE,
					GA_Text,messages_get("CaseSens"),
					GA_Selected,FALSE,
					GA_TabCycle,TRUE,
					GA_RelVerify,TRUE,
				CheckBoxEnd,
				LAYOUT_AddChild, fwin->objects[GID_SHOWALL] = CheckBoxObj,
					GA_ID,GID_SHOWALL,
					GA_Text,messages_get("ShowAll"),
					GA_Selected,FALSE,
					GA_TabCycle,TRUE,
					GA_RelVerify,TRUE,
				CheckBoxEnd,

				LAYOUT_AddChild, LayoutHObj,
					LAYOUT_AddChild, fwin->objects[GID_PREV] = ButtonObj,
						GA_ID,GID_PREV,
						GA_RelVerify,TRUE,
						GA_Text,messages_get("Prev"),
						GA_TabCycle,TRUE,
						GA_Disabled,TRUE,
					ButtonEnd,
					CHILD_WeightedHeight,0,
					LAYOUT_AddChild, fwin->objects[GID_NEXT] = ButtonObj,
						GA_ID,GID_NEXT,
						GA_RelVerify,TRUE,
						GA_Text,messages_get("Next"),
						GA_TabCycle,TRUE,
						GA_Disabled,TRUE,
					ButtonEnd,
				LayoutEnd,
				CHILD_WeightedHeight,0,
			EndGroup,
		EndWindow;

	fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_MAIN]);
	fwin->gwin = gwin;
	fwin->node = AddObject(window_list,AMINS_FINDWINDOW);
	fwin->node->objstruct = fwin;
	gwin->shared->searchwin = fwin;
	
	ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_MAIN], fwin->win,
			NULL, (ULONG)fwin->objects[GID_SEARCHSTRING]);
}
예제 #4
0
파일: gui.c 프로젝트: adtools/db101
void main_open_window()
{
	main_freemem_hook = freemem_alloc_hook();

	char *initdir = getenv("DB101_LASTDIR");
	if(initdir)
		strcpy(lastdir, initdir);

	variables_init();
	console_init();
	stacktrace_init();
	source_init();
	disassembler_init();
	sourcelist_init();
	
	pipe_init();

   AppPort = IExec->AllocSysObjectTags(ASOT_PORT, TAG_DONE);

    /* Create the window object. */
    if(( MainWinObj = WindowObject,
            WA_ScreenTitle, "Debug 101",
            WA_Title, "Debug 101 v1.1.0 BETA - secret edition ;)",
            WA_Width, 1024,
			WA_Height, 768,
            WA_DepthGadget, TRUE,
			WA_SizeGadget, TRUE,
            WA_DragBar, TRUE,
            WA_CloseGadget, TRUE,
            WA_Activate, TRUE,
            
            WINDOW_NewMenu, mynewmenu,
            WINDOW_MenuUserData, WGUD_IGNORE,
            
            WINDOW_IconifyGadget, TRUE,
            WINDOW_IconTitle, "Debug 101",
            WINDOW_AppPort, AppPort,
            
            WINDOW_Position, WPOS_CENTERSCREEN,
            /* there is no HintInfo array set up here, instead we define the 
            ** strings directly when each gadget is created (OM_NEW)
            */
            WINDOW_GadgetHelp, TRUE,
	        WINDOW_ParentGroup, MainObj[GAD_TOPLAYOUT] = VLayoutObject,
				LAYOUT_AddChild, HLayoutObject,
	                LAYOUT_AddChild, MainObj[GAD_SELECT_BUTTON] = ButtonObject,
	                    GA_ID, GAD_SELECT_BUTTON,
	                    GA_Text, "Select file",
	                    GA_RelVerify, TRUE,
	                    GA_HintInfo, "Push to select file",
	                ButtonEnd,
	                CHILD_WeightedWidth, 0,
	                
	                LAYOUT_AddChild, MainObj[GAD_RELOAD_BUTTON] = ButtonObject,
	                	GA_ID, GAD_RELOAD_BUTTON,
	                	GA_Text, "Reload",
	                	GA_RelVerify, TRUE,
	                    GA_Disabled, TRUE,
	                	GA_HintInfo, "Push to reload previously executed file",
	                ButtonEnd,
	                CHILD_WeightedWidth, 0,
	                
	                LAYOUT_AddChild, MainObj[GAD_FILENAME_STRING] = StringObject,
	                    GA_ID, GAD_FILENAME_STRING,
	                    GA_RelVerify, TRUE,
	                    GA_HintInfo, "Filename",
						GA_Disabled, TRUE,
						GA_ReadOnly, TRUE,
						STRINGA_MinVisible, 10,
						STRINGA_TextVal, "Select File",
	                StringEnd,

	                LAYOUT_AddChild, MainObj[GAD_ATTACH_BUTTON] = ButtonObject,
	                    GA_ID, GAD_ATTACH_BUTTON,
	                    GA_Text, "Attach",
	                    GA_RelVerify, TRUE,
	                    GA_HintInfo, "Push to attach to process",
	                ButtonEnd,
	                CHILD_WeightedWidth, 0,
	
					LAYOUT_AddChild, SpaceObject,
						SPACE_MinWidth, 24,
					SpaceEnd,
					
					LAYOUT_AddChild, MainObj[GAD_START_BUTTON] = ButtonObject,
						GA_ID, GAD_START_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Continue",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                
					LAYOUT_AddChild, MainObj[GAD_PAUSE_BUTTON] = ButtonObject,
						GA_ID, GAD_PAUSE_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Pause",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                
					LAYOUT_AddChild, MainObj[GAD_KILL_BUTTON] = ButtonObject,
						GA_ID, GAD_KILL_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Kill",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
#if 0
					LAYOUT_AddChild, CrashButtonObj = ButtonObject,
						GA_ID, GAD_CRASH_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Crash",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
#endif
					LAYOUT_AddChild, MainObj[GAD_STEPOVER_BUTTON] = ButtonObject,
						GA_ID, GAD_STEPOVER_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Step Over",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                
					LAYOUT_AddChild, MainObj[GAD_STEPINTO_BUTTON] = ButtonObject,
						GA_ID, GAD_STEPINTO_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Step Into",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                
					LAYOUT_AddChild, MainObj[GAD_STEPOUT_BUTTON] = ButtonObject,
						GA_ID, GAD_STEPOUT_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Step Out",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                	                
					LAYOUT_AddChild, SpaceObject,
						SPACE_MinWidth, 24,
					SpaceEnd,
					
					LAYOUT_AddChild, MainObj[GAD_SETBREAK_BUTTON] = ButtonObject,
						GA_ID, GAD_SETBREAK_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Breaks",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,

					LAYOUT_AddChild, MainObj[GAD_HEX_BUTTON] = ButtonObject,
						GA_ID, GAD_HEX_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Hex",
						GA_Disabled, TRUE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,

				EndMember,
				CHILD_WeightedHeight, 0,

				LAYOUT_AddChild, HLayoutObject,
		            LAYOUT_AddChild, MainObj[GAD_STACKTRACE_LISTBROWSER] = ListBrowserObject,
	    	            GA_ID,                     GAD_STACKTRACE_LISTBROWSER,
	        	        GA_RelVerify,              TRUE,
	            	    GA_TabCycle,               TRUE,
	                	LISTBROWSER_AutoFit,       TRUE,
	                    LISTBROWSER_Labels,        &stacktrace_list,
//	                    LISTBROWSER_ColumnInfo,    columninfo,
 	             	    LISTBROWSER_ColumnTitles,  FALSE,
		               	LISTBROWSER_ShowSelected,  FALSE,
	                    LISTBROWSER_Striping,      LBS_ROWS,
					ListBrowserEnd,
				
	                LAYOUT_AddChild, MainObj[GAD_VARIABLES_LISTBROWSER] = ListBrowserObject,
    	                GA_ID,                      GAD_VARIABLES_LISTBROWSER,
        	            GA_RelVerify,               TRUE,
	                    GA_TabCycle,                TRUE,
						LISTBROWSER_Hierarchical,	TRUE,
	                    //LISTBROWSER_AutoFit,        TRUE,
	                    LISTBROWSER_Labels,         &variable_list,
	                    LISTBROWSER_ColumnInfo,     variablescolumninfo,
	                    LISTBROWSER_ColumnTitles,   TRUE,
	                    //LISTBROWSER_ShowSelected,   TRUE, /* not really needed yet */
	                    LISTBROWSER_Striping,       LBS_ROWS,
	                    LISTBROWSER_SortColumn,     0,
	                    LISTBROWSER_TitleClickable, TRUE,
	                ListBrowserEnd,
	            EndMember,
	            
	            LAYOUT_AddChild, HLayoutObject,
		            LAYOUT_AddChild, MainObj[GAD_CLICKTAB] = ClickTabObject,
		            	GA_Text, PageLabels_1,

		            	CLICKTAB_Current,	0,
		            	CLICKTAB_PageGroup,	PageObject,
				    		PAGE_Add, VLayoutObject,
				    			//LAYOUT_SpaceOuter,	TRUE,
				    			//LAYOUT_DeferLayout,	TRUE,
				    			LAYOUT_AddChild, MainObj[GAD_SOURCE_LISTBROWSER] = ListBrowserObject,
				    	        	GA_ID,                     GAD_SOURCE_LISTBROWSER,
		        			    	GA_RelVerify,              TRUE,
		            				GA_TabCycle,               TRUE,
		                			LISTBROWSER_AutoFit,       TRUE,
		                    		LISTBROWSER_Labels,        &source_list,
		                    		LISTBROWSER_ColumnInfo,    sourcecolumninfo,
		              	    		LISTBROWSER_ColumnTitles,  TRUE,
		                			LISTBROWSER_ShowSelected,  TRUE,
									//LISTBROWSER_Striping,      LBS_ROWS,
								ListBrowserEnd,
							EndMember,
						
							PAGE_Add, VLayoutObject,
								LAYOUT_AddChild, MainObj[GAD_DISASSEMBLER_LISTBROWSER] = ListBrowserObject,
			    	        	    GA_ID,                     GAD_DISASSEMBLER_LISTBROWSER,
	    		    	    	    GA_RelVerify,              TRUE,
	        		    		    GA_TabCycle,               TRUE,
									//GA_TextAttr,			   &courier_font,
	        	    	    		LISTBROWSER_AutoFit,       TRUE,
	        	    		  	    LISTBROWSER_Labels,        &disassembly_list,
	        	  		    	  	LISTBROWSER_ShowSelected,  TRUE,
	        	        		    LISTBROWSER_Striping,      LBS_ROWS,
								ListBrowserEnd,
							
								LAYOUT_AddChild, HLayoutObject,
									LAYOUT_AddChild, MainObj[GAD_DISASSEMBLER_STEP_BUTTON] = ButtonObject,
	    	            			    GA_ID, GAD_DISASSEMBLER_STEP_BUTTON,
										GA_RelVerify, TRUE,
	            	    			    GA_Text, "Step",
	            			    	ButtonEnd,
				                	CHILD_WeightedHeight, 0,

		                			LAYOUT_AddChild, MainObj[GAD_DISASSEMBLER_SKIP_BUTTON] = ButtonObject,
	    	            			    GA_ID, GAD_DISASSEMBLER_SKIP_BUTTON,
										GA_RelVerify, TRUE,
	            	        			GA_Text, "Skip",
    	        				   	ButtonEnd,
				                	CHILD_WeightedHeight, 0,
								EndMember,
			                	CHILD_WeightedHeight, 0,
							EndMember,
						PageEnd,
					EndMember,
					
					LAYOUT_WeightBar,	TRUE,
					LAYOUT_AddChild, VLayoutObject,
						LAYOUT_AddChild, MainObj[GAD_SOURCELIST_LISTBROWSER] = ListBrowserObject,
							GA_ID,                     GAD_SOURCELIST_LISTBROWSER,
	    		    		GA_RelVerify,              TRUE,
	        		    	GA_TabCycle,               TRUE,
							LISTBROWSER_AutoFit,       TRUE,
	        	    		LISTBROWSER_Labels,        &sourcelist_list,
	        	  			LISTBROWSER_ShowSelected,  TRUE,
	        	        	LISTBROWSER_Striping,      LBS_ROWS,
						ListBrowserEnd,
						
						LAYOUT_AddChild, MainObj[GAD_IMPORT_BUTTON] = ButtonObject,
							GA_ID, GAD_IMPORT_BUTTON,
							GA_RelVerify, TRUE,
							GA_Text, "Import externals",
						ButtonEnd,
						CHILD_WeightedHeight, 0,
					EndMember,
					CHILD_WeightedWidth,		20,
				EndMember,
				
				LAYOUT_AddChild, HLayoutObject,
		            LAYOUT_AddChild, MainObj[GAD_CONSOLE_LISTBROWSER] = ListBrowserObject,
    		            GA_ID,                     GAD_CONSOLE_LISTBROWSER,
        		        GA_RelVerify,              TRUE,
            		    GA_TabCycle,               TRUE,
                		LISTBROWSER_AutoFit,       TRUE,
                	    LISTBROWSER_Labels,        &console_list,
					ListBrowserEnd,
				EndMember,
				
				LAYOUT_AddChild, HLayoutObject,
	                LAYOUT_AddChild, MainObj[GAD_AREXX_STRING] = StringObject,
    	                GA_ID, GAD_AREXX_STRING,
        	            GA_RelVerify, TRUE,
						GA_Disabled, FALSE,
						GA_ReadOnly, FALSE,
						STRINGA_TextVal, "",
        	        StringEnd,

					LAYOUT_AddChild, MainObj[GAD_AREXX_BUTTON] = ButtonObject,
						GA_ID, GAD_AREXX_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Send",
						GA_Disabled, FALSE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                CHILD_WeightedWidth, 0,
	                
	                LAYOUT_AddChild, MainObj[GAD_SIGNAL_BUTTON] = ButtonObject,
						GA_ID, GAD_SIGNAL_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "Signal",
						GA_Disabled, FALSE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
	                CHILD_WeightedWidth, 0,
	                
					LAYOUT_AddChild, MainObj[GAD_X_BUTTON] = ButtonObject,
						GA_ID, GAD_X_BUTTON,
	                    GA_RelVerify, TRUE,
						GA_Text, "X",
						GA_Disabled, FALSE,
					ButtonEnd,
	                CHILD_WeightedHeight, 0,
					CHILD_WeightedWidth, 0,
				EndMember,
				CHILD_WeightedHeight, 0,

	        EndMember,

        EndWindow))
    {
        /*  Open the window. */
        if( mainwin = (struct Window *) RA_OpenWindow(MainWinObj) )
        {
			main_window_is_open = TRUE;
			button_set_start();
		}
	}

	return;
}
예제 #5
0
파일: print.c 프로젝트: arczi84/NetSurf-68k
void ami_print_ui(struct hlcache_handle *c)
{
	char filename[30];
	int i;

	struct ami_print_window *pw = ami_misc_allocvec_clear(sizeof(struct ami_print_window), 0);

	pw->c = c;

	printers[0] = ami_misc_allocvec_clear(50, 0);
	ami_print_readunit("ENV:Sys/printer.prefs", printers[0], 50, 0);

	strcpy(filename,"ENV:Sys/printerN.prefs");
	for (i = 1; i < 10; i++)
	{
		filename[15] = '0' + i;
		printers[i] = AllocVecTagList(50, NULL);
		if(!ami_print_readunit(filename, printers[i], 50, i))
		{
			FreeVec(printers[i]);
			printers[i] = NULL;
			break;
		}

	}

	ami_print_ui_setup();

	pw->objects[OID_MAIN] = WindowObj,
      	    WA_ScreenTitle, ami_gui_get_screen_title(),
           	WA_Title, gadlab[PGID_PRINT],
           	WA_Activate, TRUE,
           	WA_DepthGadget, TRUE,
           	WA_DragBar, TRUE,
           	WA_CloseGadget, TRUE,
           	WA_SizeGadget, FALSE,
			WA_PubScreen, scrn,
			WINDOW_SharedPort, sport,
			WINDOW_UserData, pw,
			WINDOW_IconifyGadget, FALSE,
         	WINDOW_Position, WPOS_CENTERSCREEN,
           	WINDOW_ParentGroup, pw->gadgets[PGID_MAIN] = LayoutVObj,
				LAYOUT_AddChild, ChooserObject,
					GA_ID, PGID_PRINTER,
					GA_RelVerify, TRUE,
					GA_TabCycle, TRUE,
					CHOOSER_LabelArray, printers,
					CHOOSER_Selected, nsoption_int(printer_unit),
				ChooserEnd,
				CHILD_Label, LabelObject,
					LABEL_Text, gadlab[PGID_PRINTER],
				LabelEnd,
				LAYOUT_AddChild, IntegerObject,
					GA_ID, PGID_COPIES,
					GA_RelVerify, TRUE,
					GA_TabCycle, TRUE,
					INTEGER_Number, 1,
					INTEGER_Minimum, 1,
					INTEGER_Maximum, 100,
					INTEGER_Arrows, TRUE,
				IntegerEnd,
				CHILD_Label, LabelObject,
					LABEL_Text, gadlab[PGID_COPIES],
				LabelEnd,
				LAYOUT_AddChild, HGroupObject,
					LAYOUT_LabelColumn, PLACETEXT_RIGHT,
					LAYOUT_AddChild, pw->gadgets[PGID_SCALE] = IntegerObj,
						GA_ID, PGID_SCALE,
						GA_RelVerify, TRUE,
						GA_TabCycle, TRUE,
						INTEGER_Number, nsoption_int(print_scale),
						INTEGER_Minimum, 0,
						INTEGER_Maximum, 100,
						INTEGER_Arrows, TRUE,
					IntegerEnd,
					CHILD_WeightedWidth, 0,
					CHILD_Label, LabelObject,
						LABEL_Text, "%",
					LabelEnd,
				LayoutEnd,
				CHILD_Label, LabelObject,
					LABEL_Text, gadlab[PGID_SCALE],
				LabelEnd,
				LAYOUT_AddChild, HGroupObject,
					LAYOUT_AddChild, pw->gadgets[PGID_PRINT] = ButtonObj,
						GA_ID, PGID_PRINT,
						GA_RelVerify,TRUE,
						GA_Text, gadlab[PGID_PRINT],
						GA_TabCycle,TRUE,
					ButtonEnd,
					CHILD_WeightedHeight,0,
					LAYOUT_AddChild, pw->gadgets[GID_CANCEL] = ButtonObj,
						GA_ID, PGID_CANCEL,
						GA_RelVerify, TRUE,
						GA_Text, gadlab[PGID_CANCEL],
						GA_TabCycle,TRUE,
					ButtonEnd,
				LayoutEnd,
				CHILD_WeightedHeight,0,
			EndGroup,
		EndWindow;

	pw->win = (struct Window *)RA_OpenWindow(pw->objects[OID_MAIN]);

	pw->node = AddObject(window_list, AMINS_PRINTWINDOW);
	pw->node->objstruct = pw;
}
예제 #6
0
파일: handlers.c 프로젝트: michalsc/AROS
/// HandleInput_Main_Win
BOOL HandleInput_Main_Win(void)
{
    uint32 result      = 0;
    uint16 code        = 0;
    BOOL   done        = FALSE;

    while ((result = RA_HandleInput(win, &code)))
    {
        switch(result & WMHI_CLASSMASK)
        {
            case WMHI_CLOSEWINDOW:
                done = TRUE;
                break;
            case WMHI_GADGETUP:
                switch (result & WMHI_GADGETMASK)
                {
                    case OBJ_LBROWSER_BROW:
                    {
                        uint32 retval = iget(OBJ(OBJ_LBROWSER_BROW), LISTBROWSER_RelEvent);

                        switch(retval)
                        {
                            case LBRE_CHECKED:
                            case LBRE_UNCHECKED:
                            {
                                struct URL_BrowserNode *bn;

                                bn = (struct URL_BrowserNode *)iget(OBJ(OBJ_LBROWSER_BROW), LISTBROWSER_SelectedNode);
                                if (retval == LBRE_UNCHECKED)
                                    SET_FLAG(bn->ubn_Flags,UNF_DISABLED);
                                else
                                    CLEAR_FLAG(bn->ubn_Flags,UNF_DISABLED);
                            }
                        }
                        if (retval != LBRE_DOUBLECLICK)break;
                        // we deliberately go on executing following case OBJ_EDIT_BROW
                        // because a double click mean the same as clicking edit button
                    }
                    case OBJ_EDIT_BROW:
                    {
                        struct URL_BrowserNode *bn;

                        bn = (struct URL_BrowserNode *)iget(OBJ(OBJ_LBROWSER_BROW), LISTBROWSER_SelectedNode);
                        updateBrowserWindow(bn);
                        edit_brow_window = RA_OpenWindow(edit_brow_win);
                        break;
                    }
                    case OBJ_LBROWSER_MAIL:
                    {
                        uint32 retval = iget(OBJ(OBJ_LBROWSER_MAIL), LISTBROWSER_RelEvent);

                        switch(retval)
                        {
                            case LBRE_CHECKED:
                            case LBRE_UNCHECKED:
                            {
                                struct URL_MailerNode *mn;

                                mn = (struct URL_MailerNode *)iget(OBJ(OBJ_LBROWSER_MAIL), LISTBROWSER_SelectedNode);
                                if (retval == LBRE_UNCHECKED)
                                    SET_FLAG(mn->umn_Flags,UNF_DISABLED);
                                else
                                    CLEAR_FLAG(mn->umn_Flags,UNF_DISABLED);
                            }
                        }
                        if (retval != LBRE_DOUBLECLICK) break;
                        // we deliberately go on executing following case OBJ_EDIT_MAIL
                        // because a double click mean the same as clicking edit button
                    }
                    case OBJ_EDIT_MAIL:
                    {
                        struct URL_MailerNode *mn;

                        mn = (struct URL_MailerNode *)iget(OBJ(OBJ_LBROWSER_MAIL), LISTBROWSER_SelectedNode);
                        updateMailerWindow(mn);
                        edit_mail_window = RA_OpenWindow(edit_mail_win);
                        break;
                    }
                    case OBJ_LBROWSER_FTP:
                    {
                        uint32 retval = iget(OBJ(OBJ_LBROWSER_FTP), LISTBROWSER_RelEvent);

                        switch(retval)
                        {
                            case LBRE_CHECKED:
                            case LBRE_UNCHECKED:
                            {
                                struct URL_FTPNode *fn;

                                fn = (struct URL_FTPNode *)iget(OBJ(OBJ_LBROWSER_FTP), LISTBROWSER_SelectedNode);
                                if (retval == LBRE_UNCHECKED)
                                    SET_FLAG(fn->ufn_Flags,UNF_DISABLED);
                                else
                                    CLEAR_FLAG(fn->ufn_Flags,UNF_DISABLED);
                            }
                        }
                        if (retval != LBRE_DOUBLECLICK) break;
                        // we deliberately go on executing following case OBJ_EDIT_FTP
                        //  because a double click mean the same as clicking edit button
                    }
                    case OBJ_EDIT_FTP:
                    {
                        struct URL_FTPNode *fn;

                        fn = (struct URL_FTPNode *)iget(OBJ(OBJ_LBROWSER_FTP), LISTBROWSER_SelectedNode);
                        updateFTPWindow(fn);
                        edit_ftp_window = RA_OpenWindow(edit_ftp_win);
                        break;
                    }
                    case OBJ_USE:
                    case OBJ_SAVE:
                    case OBJ_APPLY:
                        storePrefs((result & WMHI_GADGETMASK)==OBJ_SAVE);
                        if((result & WMHI_GADGETMASK)!=OBJ_APPLY)
                            done=TRUE;
                        break;
                    case OBJ_CANCEL:
                        done=TRUE;
                        break;
                }
                break;
            case WMHI_ICONIFY:
                if (RA_Iconify(win))
                {
                    window = NULL;
                    if (edit_brow_window)
                    {
                        RA_CloseWindow(edit_brow_win);
                        edit_brow_window = NULL;
                    }
                    if (edit_mail_window)
                    {
                        RA_CloseWindow(edit_mail_win);
                        edit_mail_window = NULL;
                    }
                    if (edit_ftp_window)
                    {
                        RA_CloseWindow(edit_ftp_win);
                        edit_ftp_window = NULL;
                    }
                }
                break;
            case WMHI_UNICONIFY:
                window = RA_OpenWindow(win);
                break;
        }
    }
    return (done);
}
예제 #7
0
int main()
{
    initStrings();

    localizeStrings(PageLabels);

    localizeNewMenu(menu);

    if(!(OpenURLBase = IExec->OpenLibrary(OPENURLNAME, OPENURLVER)))
         return -1;
    if(!(IOpenURL = (struct OpenURLIFace*)IExec->GetInterface(OpenURLBase, "main", 1L, NULL)))
        return -1;

    RA_SetUpHook(idcmphook, IDCMPFunc, NULL);

    if((AppPort = IExec->AllocSysObjectTags(ASOT_PORT, TAG_DONE)) != NULL)
    {
        IExec->NewList(&list_Brow);
        IExec->NewList(&list_Mail);
        IExec->NewList(&list_FTPs);

        win = make_window();
        edit_brow_win = make_edit_brow_win();
        edit_mail_win = make_edit_mail_win();
        edit_ftp_win = make_edit_ftp_win();

        loadPrefs(URL_GetPrefs_Mode_InUse);

        // Set up inter-group label alignment

        iset(OBJ(OBJ_FTP_ALIGN1), LAYOUT_AlignLabels, OBJ(OBJ_FTP_ALIGN2));
        iset(OBJ(OBJ_MAIL_ALIGN1), LAYOUT_AlignLabels, OBJ(OBJ_MAIL_ALIGN2));
        iset(OBJ(OBJ_LBROWSER_BROW), ICA_TARGET, OBJ(OBJ_EDIT_BROW),
                                     ICA_MAP,    lst2btn);

        if((window = RA_OpenWindow(win)) != NULL)
        {
            uint32 sigmask;
            BOOL done = FALSE;

            sigmask = iget(win, WINDOW_SigMask);
            while (!done)
            {
                uint32 siggot;

                siggot = IExec->Wait(sigmask);
                if (siggot & sigmask)
                {
                    done = HandleInput_Main_Win();
                    HandleInput_Edit_Brow_Win();
                    HandleInput_Edit_Mail_Win();
                    HandleInput_Edit_FTP_Win();
                }
            }
        }
        IIntuition->DisposeObject(edit_ftp_win);
        IIntuition->DisposeObject(edit_mail_win);
        IIntuition->DisposeObject(edit_brow_win);
        IIntuition->DisposeObject(win);

        //  The hidden chooser isn't attached to anything,
        //  so we must dispose of it ourselves...

        IIntuition->DisposeObject(OBJ(OBJ_HIDDEN_CHOOSER));

        IListBrowser->FreeListBrowserList(&list_FTPs);
        IListBrowser->FreeListBrowserList(&list_Mail);
        IListBrowser->FreeListBrowserList(&list_Brow);
        IExec->FreeSysObject(ASOT_PORT, AppPort);
    }

    IExec->DropInterface((struct Interface*)IOpenURL);
    IExec->CloseLibrary(OpenURLBase);

    uninitStrings();

    return 0;
}
예제 #8
0
파일: modules.c 프로젝트: adtools/db101
void modules_open_window()
{
	if(modwin)
		return;
	
	IExec->NewList(&mod_listbrowser_list);

	if(ModObj[MOD_WINDOW] = WindowObject,
            WA_ScreenTitle, "Debug 101",
            WA_Title, "Modules",
            WA_Width, 600,
            WA_Height, 400,
            WA_DepthGadget, TRUE,
            WA_SizeGadget, TRUE,
            WA_DragBar, TRUE,
            WA_CloseGadget, TRUE,
            WA_Activate, TRUE,
            WINDOW_Position, WPOS_CENTERSCREEN,
            
            WINDOW_GadgetHelp, TRUE,
            WINDOW_ParentGroup, VLayoutObject,
            	LAYOUT_SpaceOuter, TRUE,
            	LAYOUT_DeferLayout, TRUE,
            	
            	LAYOUT_AddChild, HLayoutObject,
	            	LAYOUT_AddChild, ModObj[MOD_MODULES_LISTBROWSER] = ListBrowserObject,
    	        		GA_ID, MOD_MODULES_LISTBROWSER,
        	    		GA_RelVerify, TRUE,
            			GA_TabCycle, TRUE,
            			LISTBROWSER_AutoFit, TRUE,
                   		LISTBROWSER_ColumnInfo, mod_colinfo,
            			LISTBROWSER_ColumnTitles, TRUE,
            			LISTBROWSER_Labels, &mod_listbrowser_list,
            			LISTBROWSER_ShowSelected, TRUE,
            		ListBrowserEnd,
            	
	            	LAYOUT_AddChild, VLayoutObject,
	            		LAYOUT_AddChild, ModObj[MOD_PATH_STRING] = StringObject,
	            			GA_ID, MOD_PATH_STRING,
	            			GA_RelVerify, TRUE,
	            			STRINGA_Buffer, mod_string_buffer,
	            			STRINGA_TextVal, "",
	            			STRINGA_MinVisible, 10,
	            			STRINGA_MaxChars, 1024,
	            		StringEnd,
	            		CHILD_WeightedHeight, 0,
            		
	            		LAYOUT_AddChild, ModObj[MOD_PATH_BUTTON] = ButtonObject,
	            			GA_ID, MOD_PATH_BUTTON,
	            			GA_RelVerify, TRUE,
	            			GA_Text, "Select path",
	            		ButtonEnd,
	            		CHILD_WeightedHeight, 0,
	            		
	            		SPACE,
	            	EndMember,
	            EndMember,
	            
	            LAYOUT_AddChild, HLayoutObject,
	            	LAYOUT_AddChild, ModObj[MOD_FLUSH_BUTTON] = ButtonObject,
	            		GA_ID, MOD_FLUSH_BUTTON,
	            		GA_RelVerify, TRUE,
	            		GA_Text,	"Flush",
	            	ButtonEnd,
	            	
	            	LAYOUT_AddChild, ModObj[MOD_DELETE_BUTTON] = ButtonObject,
	            		GA_ID, MOD_DELETE_BUTTON,
	            		GA_RelVerify, TRUE,
	            		GA_Text,	"Delete",
	            	ButtonEnd,
	            	
	            	LAYOUT_AddChild, ModObj[MOD_NEW_STRING] = StringObject,
	            		GA_ID, MOD_NEW_STRING,
	            		STRINGA_TextVal, "",
	            		STRINGA_MinVisible, 10,
	            		STRINGA_MaxChars, 1024,
	            	StringEnd,
	            	CHILD_WeightedWidth, 40,
	            	
	            	LAYOUT_AddChild, ModObj[MOD_NEW_BUTTON] = ButtonObject,
	            		GA_ID, MOD_NEW_BUTTON,
	            		GA_RelVerify, TRUE,
	            		GA_Text, "New",
	            	ButtonEnd,
	            EndMember,
	            CHILD_WeightedHeight, 0,
	            
	            LAYOUT_AddChild, HLayoutObject,
	            	LAYOUT_AddChild, ModObj[MOD_SAVE_BUTTON] = ButtonObject,
	            		GA_ID, MOD_SAVE_BUTTON,
	            		GA_RelVerify, TRUE,
	            		GA_Text, "Save",
	            	ButtonEnd,
	            	LAYOUT_AddChild, ModObj[MOD_USE_BUTTON] = ButtonObject,
	            		GA_ID, MOD_USE_BUTTON,
	            		GA_RelVerify, TRUE,
	            		GA_Text, "Use",
	            	ButtonEnd,
	            EndMember,
	            CHILD_WeightedHeight, 0,
            EndGroup,
		EndWindow)
	{
		if(modwin = (struct Window *) RA_OpenWindow(ModObj[MOD_WINDOW]))
		{
			IIntuition->SetWindowAttr(mainwin, WA_BusyPointer, (APTR)TRUE, 0L);
			modules_update_window();
			modules_event_loop();
			modules_close_window();
			IIntuition->SetWindowAttr(mainwin, WA_BusyPointer, (APTR)FALSE, 0L);
		}
	}
}
예제 #9
0
static void ami_history_redraw(struct history_window *hw)
{
	struct IBox *bbox;
	ULONG xs,ys;
	struct redraw_context ctx = {
		.interactive = true,
		.background_images = true,
		.plot = &amiplot
	};

	GetAttr(SCROLLER_Top,hw->objects[OID_HSCROLL],(ULONG *)&xs);
	GetAttr(SCROLLER_Top,hw->objects[OID_VSCROLL],(ULONG *)&ys);
	if(ami_gui_get_space_box(hw->objects[GID_BROWSER], &bbox) != NSERROR_OK) {
		amiga_warn_user("NoMemory", "");
		return;
	}

	glob = hw->gg;

	SetRPAttrs(glob->rp, RPTAG_APenColor, 0xffffffff, TAG_DONE);
	RectFill(glob->rp, 0, 0, bbox->Width - 1, bbox->Height - 1);

	browser_window_history_redraw_rectangle(hw->gw->bw, xs, ys,
			bbox->Width + xs, bbox->Height + ys, 0, 0, &ctx);

	ami_gui_set_default_gg();

	ami_clearclipreg(hw->gg);
	ami_history_update_extent(hw);

	BltBitMapRastPort(hw->gg->bm, 0, 0, hw->win->RPort,
				bbox->Left, bbox->Top, bbox->Width, bbox->Height, 0x0C0);

	ami_gui_free_space_box(bbox);
}


/* exported interface documented in amiga/history_local.h */
void ami_history_open(struct gui_window *gw)
{
	struct history *history;
	int width, height;

	if (gw->bw == NULL)
		return;

	history = browser_window_get_history(gw->bw);
	if (history == NULL)
		return;

	if(!gw->hw)
	{
		gw->hw = ami_misc_allocvec_clear(sizeof(struct history_window), 0);
		gw->hw->gg = ami_misc_allocvec_clear(sizeof(struct gui_globals), 0);

		ami_init_layers(gw->hw->gg, scrn->Width, scrn->Height, false);

		gw->hw->gw = gw;
		browser_window_history_size(gw->bw, &width, &height);

		gw->hw->scrollerhook.h_Entry = (void *)ami_history_scroller_hook;
		gw->hw->scrollerhook.h_Data = gw->hw;

		gw->hw->objects[OID_MAIN] = WindowObj,
			WA_ScreenTitle, ami_gui_get_screen_title(),
			WA_Title, messages_get("History"),
			WA_Activate, TRUE,
			WA_DepthGadget, TRUE,
			WA_DragBar, TRUE,
			WA_CloseGadget, TRUE,
			WA_SizeGadget, TRUE,
			WA_PubScreen,scrn,
			WA_InnerWidth,width,
			WA_InnerHeight,height + 10,
			WINDOW_SharedPort,sport,
			WINDOW_UserData,gw->hw,
			WINDOW_IconifyGadget, FALSE,
			WINDOW_GadgetHelp, TRUE,
			WINDOW_Position, WPOS_CENTERSCREEN,
			WINDOW_HorizProp,1,
			WINDOW_VertProp,1,
			WINDOW_IDCMPHook,&gw->hw->scrollerhook,
			WINDOW_IDCMPHookBits,IDCMP_IDCMPUPDATE,
//			WA_ReportMouse,TRUE,
			WA_IDCMP,IDCMP_MOUSEBUTTONS | IDCMP_NEWSIZE, // | IDCMP_MOUSEMOVE,
			WINDOW_ParentGroup, gw->hw->objects[GID_MAIN] = LayoutVObj,
				LAYOUT_AddChild, gw->hw->objects[GID_BROWSER] = SpaceObj,
					GA_ID,GID_BROWSER,
//					SPACE_MinWidth,width,
//					SPACE_MinHeight,height,
				SpaceEnd,
			EndGroup,
		EndWindow;

		gw->hw->win = (struct Window *)RA_OpenWindow(gw->hw->objects[OID_MAIN]);
		gw->hw->node = AddObject(window_list,AMINS_HISTORYWINDOW);
		gw->hw->node->objstruct = gw->hw;

		GetAttr(WINDOW_HorizObject,gw->hw->objects[OID_MAIN],(ULONG *)&gw->hw->objects[OID_HSCROLL]);
		GetAttr(WINDOW_VertObject,gw->hw->objects[OID_MAIN],(ULONG *)&gw->hw->objects[OID_VSCROLL]);

		RefreshSetGadgetAttrs((APTR)gw->hw->objects[OID_VSCROLL],gw->hw->win,NULL,
			GA_ID,OID_VSCROLL,
			SCROLLER_Top,0,
			ICA_TARGET,ICTARGET_IDCMP,
			TAG_DONE);

		RefreshSetGadgetAttrs((APTR)gw->hw->objects[OID_HSCROLL],gw->hw->win,NULL,
			GA_ID,OID_HSCROLL,
			SCROLLER_Top,0,
			ICA_TARGET,ICTARGET_IDCMP,
			TAG_DONE);
	}

	ami_history_redraw(gw->hw);
}


/**
 * Handle mouse clicks in the history window.
 *
 * \return true if the event was handled, false to pass it on
 */

static bool ami_history_click(struct history_window *hw, uint16 code)
{
	int x, y;
	struct IBox *bbox;
	ULONG xs, ys;

	if(ami_gui_get_space_box(hw->objects[GID_BROWSER], &bbox) != NSERROR_OK) {
		amiga_warn_user("NoMemory", "");
		return false;
	}

	GetAttr(SCROLLER_Top,hw->objects[OID_HSCROLL],(ULONG *)&xs);
	x = hw->win->MouseX - bbox->Left +xs;
	GetAttr(SCROLLER_Top,hw->objects[OID_VSCROLL],(ULONG *)&ys);
	y = hw->win->MouseY - bbox->Top + ys;

	ami_gui_free_space_box(bbox);

	switch(code)
	{
		case SELECTUP:
			browser_window_history_click(hw->gw->bw, x, y, false);
			ami_history_redraw(hw);
			ami_schedule_redraw(hw->gw->shared, true);
		break;

		case MIDDLEUP:
			browser_window_history_click(hw->gw->bw, x, y, true);
			ami_history_redraw(hw);
		break;
	}

	return true;
}
예제 #10
0
void ami_history_open(struct browser_window *bw, struct history *history)
{
	int width, height;
	struct IBox *bbox;

	assert(history);

	history_current = history;

	if(!hwindow)
	{
		hwindow = AllocVec(sizeof(struct history_window),MEMF_CLEAR | MEMF_PRIVATE);

		ami_init_layers(&hwindow->gg, scrn->Width, scrn->Height);

		hwindow->bw = bw;
		history_size(history, &width, &height);

		hwindow->scrollerhook.h_Entry = (void *)ami_history_scroller_hook;
		hwindow->scrollerhook.h_Data = hwindow;

		hwindow->objects[OID_MAIN] = WindowObject,
			WA_ScreenTitle,nsscreentitle,
			WA_Title,messages_get("History"),
			WA_Activate, TRUE,
			WA_DepthGadget, TRUE,
			WA_DragBar, TRUE,
			WA_CloseGadget, TRUE,
			WA_SizeGadget, TRUE,
			WA_CustomScreen,scrn,
			WA_InnerWidth,width,
			WA_InnerHeight,height + 10,
			WINDOW_SharedPort,sport,
			WINDOW_UserData,hwindow,
			WINDOW_IconifyGadget, FALSE,
			WINDOW_GadgetHelp, TRUE,
			WINDOW_Position, WPOS_CENTERSCREEN,
			WINDOW_HorizProp,1,
			WINDOW_VertProp,1,
			WINDOW_IDCMPHook,&hwindow->scrollerhook,
			WINDOW_IDCMPHookBits,IDCMP_IDCMPUPDATE,
//			WA_ReportMouse,TRUE,
			WA_IDCMP,IDCMP_MOUSEBUTTONS | IDCMP_NEWSIZE, // | IDCMP_MOUSEMOVE,
			WINDOW_ParentGroup, hwindow->objects[GID_MAIN] = VGroupObject,
				LAYOUT_AddChild, hwindow->objects[GID_BROWSER] = SpaceObject,
					GA_ID,GID_BROWSER,
//					SPACE_MinWidth,width,
//					SPACE_MinHeight,height,
				SpaceEnd,
			EndGroup,
		EndWindow;

		hwindow->win = (struct Window *)RA_OpenWindow(hwindow->objects[OID_MAIN]);
//		hwindow->bw->window = hwindow;
		hwindow->node = AddObject(window_list,AMINS_HISTORYWINDOW);
		hwindow->node->objstruct = hwindow;

		GetAttr(WINDOW_HorizObject,hwindow->objects[OID_MAIN],(ULONG *)&hwindow->objects[OID_HSCROLL]);
		GetAttr(WINDOW_VertObject,hwindow->objects[OID_MAIN],(ULONG *)&hwindow->objects[OID_VSCROLL]);

		RefreshSetGadgetAttrs((APTR)hwindow->objects[OID_VSCROLL],hwindow->win,NULL,
			GA_ID,OID_VSCROLL,
			SCROLLER_Top,0,
			ICA_TARGET,ICTARGET_IDCMP,
			TAG_DONE);

		RefreshSetGadgetAttrs((APTR)hwindow->objects[OID_HSCROLL],hwindow->win,NULL,
			GA_ID,OID_HSCROLL,
			SCROLLER_Top,0,
			ICA_TARGET,ICTARGET_IDCMP,
			TAG_DONE);
	}

	hwindow->bw = bw;
	bw->window->hw = hwindow;
	ami_history_redraw(hwindow);
}
예제 #11
0
void ami_open_tree(struct tree *tree,int type)
{
	struct treeview_window *twin;
	BOOL msel = TRUE,nothl = TRUE,launchdisable=FALSE;
	static WORD gen=0;
	char *wintitle;
	char folderclosed[100],folderopen[100],item[100];

	if(tree->handle)
	{
		twin = (struct treeview_window *)tree->handle;
		WindowToFront(twin->win);
		ActivateWindow(twin->win);
		return;
	}

	twin = AllocVec(sizeof(struct treeview_window),MEMF_PRIVATE | MEMF_CLEAR);
	twin->listbrowser_list = AllocVec(sizeof(struct List),MEMF_PRIVATE | MEMF_CLEAR);

	static struct ColumnInfo columninfo[] =
	{
    	{ 80,"Name", CIF_DRAGGABLE | CIF_SORTABLE},
    	{ 20,"URL", CIF_DRAGGABLE },
//    	{ 5,"Visits", CIF_DRAGGABLE },
    	{ -1, (STRPTR)~0, -1 }
	};

	if(tree->single_selection) msel = FALSE;

	ami_get_theme_filename(&folderclosed,"theme_list_folder_closed");
	ami_get_theme_filename(&folderopen,"theme_list_folder_open");

	switch(type)
	{
		case AMI_TREE_HOTLIST:
			nothl = FALSE;
			wintitle = (char *)messages_get("Hotlist");
			ami_get_theme_filename(&item,"theme_list_bookmark");
		break;
		case AMI_TREE_COOKIES:
			nothl = TRUE;
			launchdisable=TRUE;
			wintitle = (char *)messages_get("Cookies");
			ami_get_theme_filename(&item,"theme_list_cookie");
		break;
		case AMI_TREE_HISTORY:
			nothl = TRUE;
			wintitle = (char *)messages_get("GlobalHistory");
			ami_get_theme_filename(&item,"theme_list_history");
		break;
		case AMI_TREE_SSLCERT:
			nothl = TRUE;
			wintitle = (char *)messages_get("SSLCerts");
			ami_get_theme_filename(&item,"theme_list_sslcert");
		break;
	}

	NewList(twin->listbrowser_list);

	tree->handle = (void *)twin;
	twin->tree = tree;
	ami_add_elements(twin,twin->tree->root,&gen);

	twin->objects[OID_MAIN] = WindowObject,
      	    WA_ScreenTitle,nsscreentitle,
           	WA_Title,wintitle,
           	WA_Activate, TRUE,
           	WA_DepthGadget, TRUE,
           	WA_DragBar, TRUE,
           	WA_CloseGadget, TRUE,
           	WA_SizeGadget, TRUE,
			WA_CustomScreen,scrn,
			WINDOW_SharedPort,sport,
			WINDOW_UserData,twin,
			WINDOW_IconifyGadget, TRUE,
			WINDOW_Position, WPOS_CENTERSCREEN,
			WINDOW_ParentGroup, twin->gadgets[GID_MAIN] = VGroupObject,
				LAYOUT_AddChild, twin->gadgets[GID_TREEBROWSER] = ListBrowserObject,
					GA_ID, GID_TREEBROWSER,
					GA_RelVerify, TRUE,
					GA_ReadOnly,FALSE,
					LISTBROWSER_ColumnInfo, &columninfo,
//					LISTBROWSER_ColumnTitles, TRUE,
					LISTBROWSER_Hierarchical,TRUE,
					LISTBROWSER_Editable,TRUE,
//	LISTBROWSER_TitleClickable,TRUE,
					LISTBROWSER_AutoFit, TRUE,
					LISTBROWSER_HorizontalProp, TRUE,
					LISTBROWSER_Labels, twin->listbrowser_list,
//					LISTBROWSER_MultiSelect,msel,
					LISTBROWSER_ShowSelected,TRUE,
					LISTBROWSER_ShowImage,BitMapObject,
						BITMAP_SourceFile,folderclosed,
						BITMAP_Screen,scrn,
						BITMAP_Masking,TRUE,
						BitMapEnd,
					LISTBROWSER_HideImage,BitMapObject,
						BITMAP_SourceFile,folderopen,
						BITMAP_Screen,scrn,
						BITMAP_Masking,TRUE,
						BitMapEnd,
					LISTBROWSER_LeafImage,BitMapObject,
						BITMAP_SourceFile,item,
						BITMAP_Screen,scrn,
						BITMAP_Masking,TRUE,
						BitMapEnd,
        			ListBrowserEnd,
				CHILD_NominalSize,TRUE,
				LAYOUT_AddChild, HGroupObject,
					LAYOUT_AddChild, twin->gadgets[GID_OPEN] = ButtonObject,
						GA_ID,GID_OPEN,
						GA_Text,messages_get("TreeLaunch"),
						GA_RelVerify,TRUE,
						GA_Disabled,launchdisable,
					ButtonEnd,
					LAYOUT_AddChild, twin->gadgets[GID_NEWF] = ButtonObject,
						GA_ID,GID_NEWF,
						BUTTON_AutoButton,BAG_POPDRAWER,
						GA_RelVerify,TRUE,
						GA_Disabled,nothl,
					ButtonEnd,
					LAYOUT_AddChild, twin->gadgets[GID_NEWB] = ButtonObject,
						GA_ID,GID_NEWB,
						BUTTON_AutoButton,BAG_POPFILE,
						GA_RelVerify,TRUE,
						GA_Disabled,nothl,
					ButtonEnd,
					LAYOUT_AddChild, twin->gadgets[GID_LEFT] = ButtonObject,
						GA_ID,GID_LEFT,
						BUTTON_AutoButton,BAG_LFARROW,
						GA_RelVerify,TRUE,
						GA_Disabled,nothl, //(!tree->movable),
					ButtonEnd,
					LAYOUT_AddChild, twin->gadgets[GID_UP] = ButtonObject,
						GA_ID,GID_UP,
						BUTTON_AutoButton,BAG_UPARROW,
						GA_RelVerify,TRUE,
						GA_Disabled,nothl, //(!tree->movable),
					ButtonEnd,
					LAYOUT_AddChild, twin->gadgets[GID_DOWN] = ButtonObject,
						GA_ID,GID_DOWN,
						BUTTON_AutoButton,BAG_DNARROW,
						GA_RelVerify,TRUE,
						GA_Disabled,nothl, //(!tree->movable),
					ButtonEnd,
					LAYOUT_AddChild, twin->gadgets[GID_DEL] = ButtonObject,
						GA_ID,GID_DEL,
						GA_Text,messages_get("TreeDelete"),
						GA_RelVerify,TRUE,
					ButtonEnd,
				EndGroup,
				CHILD_WeightedHeight,0,
			EndGroup,
		EndWindow;

	twin->win = (struct Window *)RA_OpenWindow(twin->objects[OID_MAIN]);

	twin->node = AddObject(window_list,AMINS_TVWINDOW);
	twin->node->objstruct = twin;
}
예제 #12
0
파일: attach.c 프로젝트: adtools/db101
struct Process *attach_select_process()
{
	struct Process * ret = NULL;

    Object *WinObj, *ButtonObj, *ListBrowserObj;
    struct Window *win;

	get_process_list();


	struct List attachlist;
	struct Node *node;
	IExec->NewList (&attachlist);
	int i;
	for (i = 0; i < noprocesses; i++)
	{
		if (node = IListBrowser->AllocListBrowserNode(2,
            									LBNA_Column, 0,
                								LBNCA_Text, processnamelist[i],
            									TAG_DONE))
        							{
							            IExec->AddTail(&attachlist, node);
									}
	}

    /* Create the window object. */
    if(( WinObj = WindowObject,
            WA_ScreenTitle, "Debug 101",
            WA_Title, "Attach to process",
            WA_Width, 400,
			WA_Height, 400,
            WA_DepthGadget, TRUE,
			WA_SizeGadget, TRUE,
            WA_DragBar, TRUE,
            WA_CloseGadget, TRUE,
            WA_Activate, TRUE,
            WINDOW_Position, WPOS_CENTERSCREEN,
            /* there is no HintInfo array set up here, instead we define the 
            ** strings directly when each gadget is created (OM_NEW)
            */
            WINDOW_GadgetHelp, TRUE,
            WINDOW_ParentGroup, VLayoutObject,
                LAYOUT_SpaceOuter, TRUE,
                LAYOUT_DeferLayout, TRUE,

	            LAYOUT_AddChild, ListBrowserObj = ListBrowserObject,
    	            GA_ID,                     ATTACH_LISTBROWSER,
        	        GA_RelVerify,              TRUE,
            	    GA_TabCycle,               TRUE,
                	LISTBROWSER_AutoFit,       TRUE,
                    LISTBROWSER_Labels,        &attachlist,
//                    LISTBROWSER_ColumnInfo,    columninfo,
              	    LISTBROWSER_ColumnTitles,  TRUE,
                	LISTBROWSER_ShowSelected,  TRUE,
                    LISTBROWSER_Striping,      LBS_ROWS,
				ListBrowserEnd,

                LAYOUT_AddChild, ButtonObj = ButtonObject,
                    GA_ID, ATTACH_BUTTON,
					GA_RelVerify, TRUE,
                    GA_Text, "Select",
                ButtonEnd,
                CHILD_WeightedHeight, 0,
			EndMember,
        EndWindow))
    {
        /*  Open the window. */
        if( win = (struct Window *) RA_OpenWindow(WinObj) )
        {   
            ULONG wait, signal, result, done = FALSE;
            WORD Code;
            CONST_STRPTR hintinfo;
			uint32 selected;
            
            /* Obtain the window wait signal mask. */
            IIntuition->GetAttr( WINDOW_SigMask, WinObj, &signal );
            
            /* Input Event Loop */
            while( !done )
            {
                wait = IExec->Wait(signal|SIGBREAKF_CTRL_C);
                
                if (wait & SIGBREAKF_CTRL_C) done = TRUE;
                else
                while ((result = RA_HandleInput(WinObj, &Code)) != WMHI_LASTMSG)
                {
                    switch (result & WMHI_CLASSMASK)
                    {
                        case WMHI_CLOSEWINDOW:
                            done = TRUE;
                            break;
                         case WMHI_GADGETUP:
                            switch(result & WMHI_GADGETMASK)
                            {
                                case ATTACH_BUTTON:
                                    /* if the user has entered a new text for the buttons
                                    ** help text, get it, and set it
                                    */
                                    IIntuition->GetAttrs( ListBrowserObj, LISTBROWSER_Selected, &selected, TAG_DONE );
									//printf("selected = 0x%x\n", selected);

									if (selected != 0xffffffff)
									{
										ret = processstructlist[selected];
										console_printf(OUTPUT_SYSTEM, "attaching to process with name %s\n", processnamelist[selected]);
									}

									done = TRUE;
                                    break;
                            }
                            break;
                    }
                }
            }
        }
        
        /* Disposing of the window object will
         * also close the window if it is
         * already opened and it will dispose of
         * all objects attached to it.
         */
        IIntuition->DisposeObject( WinObj );
		IListBrowser->FreeListBrowserList(&attachlist);
    }

	//free_process_list();

    
    return ret;

}