testapps/rschandler/Common/rsc/ResourceHandler.rss
changeset 0 9736f095102e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testapps/rschandler/Common/rsc/ResourceHandler.rss	Tue Jan 26 15:16:33 2010 +0200
@@ -0,0 +1,899 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+NAME RES
+
+#include "ResourceHandler.hrh"
+
+#include <techview/eikon.rh>
+
+#include <uiklafgt/eikcore.rsg>
+// for symbolic definition of buttons
+#include <techview/eikon.rsg> //for runtime
+// for various constants
+#include <techview/eikon.hrh> //for runtime
+
+#ifdef UIQ
+// for QIK_NUMBER_EDITOR/QIK_VERTOPBUT/EQikDlgItemUseFullWidth
+#include <qikon.rh>
+// for various constants
+#include <qikon.hrh> //for runtime
+#endif
+
+#ifdef TV
+// for CEikNumberEditor
+#include <techview/techviewctl.rh>
+#include <techview/techview.hrh>
+#endif
+
+RESOURCE RSS_SIGNATURE { } 
+
+RESOURCE TBUF { buf=""; }
+
+RESOURCE EIK_APP_INFO
+	{
+	menubar=r_resource_menubar;
+	}
+
+//
+// Menus
+//                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+                            
+RESOURCE MENU_BAR r_resource_menubar
+    {
+    titles=
+        {
+        MENU_TITLE { menu_pane=r_resource_menu_1; txt="Kernel"; },
+		MENU_TITLE { menu_pane=r_resource_menu_2; txt="System"; },
+		MENU_TITLE { menu_pane=r_resource_menu_3; txt="Tools"; }
+	};
+    }
+
+RESOURCE MENU_PANE r_resource_menu_1
+    {
+	items=
+	{
+		MENU_ITEM { command=EResourceMenu1Item0; txt="Process"; },
+		MENU_ITEM { command=EResourceMenu1Item1; txt="Thread"; },
+		MENU_ITEM { command=EResourceMenu1Item2; txt="Chunk"; },
+		MENU_ITEM { command=EResourceMenu1Item3; txt="Library"; },
+		MENU_ITEM { command=EResourceMenu1Item4; txt="Server"; },
+		MENU_ITEM { command=EResourceMenu1Item5; txt="Semaphore"; },
+		MENU_ITEM { command=EResourceMenu1Item6; txt="Mutex"; },
+		MENU_ITEM { command=EResourceMenu1Item7; txt="Log Device"; },
+		MENU_ITEM { command=EResourceMenu1Item8; txt="Phy Device"; },
+		MENU_ITEM { command=EResourceMenu1Item9; txt="Log Chan"; }
+
+        };
+    }
+
+RESOURCE MENU_PANE r_resource_menu_2
+    {
+	items=
+		{
+		MENU_ITEM { command=EResourceMenu2Item0; txt="Window Grp"; },
+		MENU_ITEM { command=EResourceMenu2Item1; txt="Drive"; },
+		MENU_ITEM { command=EResourceMenu2Item2; txt="HAL"; }
+        };
+    }
+
+RESOURCE MENU_PANE r_resource_menu_3
+	{
+	items=
+		{
+		MENU_ITEM { command=EResourceMenu3Item1; txt="Thread Tool"; },
+		MENU_ITEM { command=EResourceMenu3Item2; txt="Process Tool"; },
+		MENU_ITEM { command=EResourceMenu3Item3; txt="RAM Tool"; },
+		MENU_ITEM { command=EResourceMenu3Item4; txt="Drive Tool"; }
+        };
+    }
+
+//
+// Debug dialog
+//
+
+RESOURCE DIALOG r_debug_dialog
+	{
+	title = "Debug Tool";
+	flags = EEikDialogFlagWait;
+	buttons = r_debug_dialog_buttons;
+	pages = r_debug_dialog_pages;
+
+	}
+
+RESOURCE DLG_BUTTONS r_debug_dialog_buttons
+	{
+	buttons=
+		{
+		DLG_BUTTON
+			{
+			id=EDebugSetButtonCtl;
+			button=CMBUT { txt="Set";};
+			hotkey = 'S';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidCancel;
+			button=CMBUT { txt="Cancel";};
+			hotkey = 'C';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidOk;
+			button=CMBUT { txt="Done";};
+			hotkey = 'D';
+			}
+		};
+	}
+
+RESOURCE ARRAY r_debug_dialog_pages
+	{
+	items =
+		{
+		PAGE 
+			{
+     		text = "Port"; 
+			id = EDebugPagePort;
+			lines = r_debug_dialog_page_port;
+			},
+		PAGE
+			{
+			text = "Kernel"; 
+			id = EDebugPageKernel;
+			lines = r_debug_dialog_page_kernel;
+			},
+		PAGE
+			{
+			text = "FS"; 
+			id = EDebugPageFiles;
+			lines = r_debug_dialog_page_file_s;
+			}
+		};
+	}
+
+
+RESOURCE ARRAY r_debug_dialog_page_kernel
+	{
+	items =
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = EDebugKernelLabel;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Select debugging information to be printed.\nNote: must have debug version of ekern.exe in ROM.\nNote: not all combinations may be possible.";
+				}; 
+			},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KHARDWARE"; id = EDebugKernelKHARDWARE;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KBOOT"; id = EDebugKernelKBOOT;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KSERVER"; id = EDebugKernelKSERVER;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KMMU"; id = EDebugKernelKMMU;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KSEMAPHORE"; id = EDebugKernelKSEMAPHORE;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KSCHED"; id = EDebugKernelKSCHED;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KPROC"; id = EDebugKernelKPROC;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KEXEC"; id = EDebugKernelKEXEC;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KEXECFAST"; id = EDebugKernelKEXECFAST;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KTHREAD"; id = EDebugKernelKTHREAD;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KDLL"; id = EDebugKernelKDLL;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KLOGON"; id = EDebugKernelKLOGON;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KPBUS1"; id = EDebugKernelKPBUS1;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KPBUS2"; id = EDebugKernelKPBUS2;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KPBUSDRV"; id = EDebugKernelKPBUSDRV;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KPOWER"; id = EDebugKernelKPOWER;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KTIMING"; id = EDebugKernelKTIMING;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KEVENT"; id = EDebugKernelKEVENT;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KMEMTRACE"; id = EDebugKernelKMEMTRACE;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KIPC"; id = EDebugKernelKIPC;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KDEBUGGER"; id = EDebugKernelKDEBUGGER;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KVIDEO"; id = EDebugKernelKVIDEO;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KUSB"; id = EDebugKernelKUSB;},
+		DLG_LINE { type=EEikCtCheckBox; prompt="KPANIC"; id = EDebugKernelKPANIC;}
+		}; 
+	}
+
+
+RESOURCE ARRAY r_debug_dialog_page_file_s
+	{
+	items =
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH //needed?
+			id = EDebugFileLabel;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Select debugging information to be printed.\nMust have debug version of efile.exe in ROM. Or define\n_DEBUG_RELEASE in f32dbg.h. \nNote: these values are not readable.";
+				}; 
+			},
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="File Server"; 
+			id = EDebugFileServerCtl;
+		    },
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="FAT File System"; 
+			id = EDebugFATCtl;
+			},
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="Loader"; 
+			id = EDebugLoaderCtl;
+			} 
+
+		}; 
+	
+	} 
+	
+
+RESOURCE ARRAY r_debug_dialog_page_port
+	{
+	items =
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = EDebugPortLabel;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Set the port number for debug output. (-1 means no port is set).";
+				}; 
+			},
+		DLG_LINE
+			{
+			type = EXIKCTNUMBEREDITOR;
+			prompt = "Debug Port ";
+			id = EDebugPortCtl;
+			control = A_NUMBER_EDITOR 
+				{ 
+				min = -1; 
+				max = 1023; 
+				};
+			//itemflags = EEikDlgItemNoBorder | EEikDlgItemNonFocusing;
+			ITEMFLAG_NONFOCUSING
+			}
+		}; 
+	}
+
+
+//
+// Thread Dialog
+//
+
+RESOURCE DIALOG r_thread_dialog
+	{
+	title = "Thread Tool";
+	buttons = r_thread_dialog_buttons;
+	flags = EEikDialogFlagWait;
+	pages = r_thread_dialog_pages;
+	}
+
+
+RESOURCE DLG_BUTTONS r_thread_dialog_buttons
+	{
+	buttons=
+		{		
+		DLG_BUTTON
+			{
+			id=EThreadKillButtonCtl;
+			button=CMBUT { txt="Kill!";};
+			hotkey = 'K';
+			},
+		DLG_BUTTON
+			{
+			id=EThreadSetButtonCtl;
+			button=CMBUT { txt="Set";};
+			hotkey = 'S';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidCancel;
+			button=CMBUT { txt="Cancel";};
+			hotkey = 'C';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidOk;
+			button=CMBUT { txt="Done";};
+			hotkey = 'D';
+			}
+		};
+	}
+
+RESOURCE ARRAY r_thread_dialog_pages
+	{
+	items =
+		{
+		PAGE 
+			{
+     		text = "Thread"; 
+			id = EThreadPageGeneral;
+			lines = r_thread_dialog_page_general;
+			//buttons=r_thread_dialog_buttonbar;
+			},
+		PAGE
+			{
+			text = "Priority"; 
+			id = EThreadPagePriority;
+			lines = r_thread_dialog_page_priority;
+			},
+		PAGE
+			{
+			text = "Other"; 
+			id = EThreadPageOther;
+			lines = r_thread_dialog_page_other;
+			}
+		};
+	}
+
+RESOURCE ARRAY r_thread_dialog_page_general
+	{
+	items = 
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = EThreadLabelTop;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Enter thread id number and hit 'Get Thread' to find and change \nthread attributes. (Zero for all threads)";
+				}; 
+			},
+		DLG_LINE
+			{
+			type = EXIKCTNUMBEREDITOR;
+			prompt = "Thread Number";
+			id = EThreadNumberCtl;
+			control = A_NUMBER_EDITOR 
+				{ 
+				min = 0; 
+				max = 1023; 
+				};
+			//itemflags = EEikDlgItemNoBorder | EEikDlgItemNonFocusing;
+			ITEMFLAG_NONFOCUSING
+			},
+//The process and thread name are defined on one line in TV and 2 lines in UIQ, due to restricted dialog space in TV.
+#ifdef TV
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			prompt = "Thread/Process:";
+			id = EThreadLabelThreadAndProcessName;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="";
+				}; 
+			},
+#endif
+#ifdef UIQ
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			prompt = "Process:";
+			ITEMFLAG_DENSELYPACKED//ITEMFLAG_USEFULLWIDTH
+			id = EThreadLabelProcessName;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="";
+				}; 
+			},
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			prompt = "Thread:";
+			ITEMFLAG_DENSELYPACKED//ITEMFLAG_USEFULLWIDTH
+			id = EThreadLabelThreadName;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="";
+				}; 
+			},
+#endif
+		DLG_LINE
+			{
+			type=EEikCtCommandButton;
+			ITEMFLAG_USEFULLWIDTH
+			id = EThreadGetButtonCtl;
+			control = CMBUT
+				{
+				txt="GET Thread";
+				}; 
+			},
+		DLG_LINE //create space between buttons
+			{
+			type=EEikCtLabel;
+			id = EThreadLabelThreadName;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="         ";
+				}; 
+			}
+		};
+	}
+
+RESOURCE ARRAY r_thread_dialog_page_priority
+	{
+	items = 
+		{
+			DLG_LINE
+				{
+				type=EEikCtLabel;
+				ITEMFLAG_USEFULLWIDTH
+				id = EThreadPriorityPrompt;
+				control = LABEL
+					{
+					horiz_align=EEikLabelAlignHLeft;
+					txt="";
+					}; 
+				},
+			DLG_LINE 
+				{ 
+				prompt="Priority"; 
+				type=EEikCtChoiceList; 
+				id=EThreadPriorityButtonCtl;
+				control=CHOICELIST
+					{ 
+					array_id=r_thread_priority_buttons; 
+					};
+				},
+			DLG_LINE
+				{
+				type=EEikCtLabel;
+				ITEMFLAG_USEFULLWIDTH
+				id = EThreadPriorityText;
+				control = LABEL
+					{
+					horiz_align=EEikLabelAlignHLeft;
+					txt="";
+					}; 
+				}
+		};
+	}
+	
+	
+RESOURCE ARRAY r_thread_dialog_page_other
+	{
+	items = 
+		{
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="System"; 
+			id = EThreadSystemCtl;
+			},
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="Protected"; 
+			id = EThreadProtectedCtl;
+			}
+		};
+	}
+	
+
+
+RESOURCE ARRAY r_thread_priority_buttons
+	{
+	items= 
+        	{ 
+			LBUF { txt="PriorityNull=-30";},				//	EThreadPm30_Null
+			LBUF { txt="PriorityMuchLess=-20";},			//	EThreadPm20_MuchLess	
+			LBUF { txt="PriorityLess=-10";},				//	EThreadPm10_Less	
+			LBUF { txt="PriorityNormal=0";},				//	EThreadP0_Normal
+        		LBUF { txt="PriorityMore=10"; },				//	EThreadP10_More
+        		LBUF { txt="PriorityMuchMore=20"; },			//	EThreadP20_MuchMore
+       	 		LBUF { txt="PriorityRealTime=30"; },			//	EThreadP30_RealTime
+			LBUF { txt="PriorityAbsoluteVeryLow=100";},	//	EThreadP100_AbsoluteVeryLow
+			LBUF { txt="PriorityAbsoluteLow=200";},		//	EThreadP200_AbsoluteLow
+			LBUF { txt="PriorityAbsoluteBackground=300";},	//	EThreadP300_AbsoluteBackground
+			LBUF { txt="PriorityAbsoluteForeground=400";},	//	EThreadP400_AbsoluteForeground
+			LBUF { txt="PriorityAbsoluteHigh=500";},		//	EThreadP500_AbsoluteHigh
+			LBUF { txt = "Not Standard";}				//	EThreadP_NotStandard
+        	};
+	}
+//
+// Process Dialog
+//
+
+RESOURCE DIALOG r_process_number_dialog
+	{
+	title = "Process Tool";
+	buttons = r_process_dialog_buttons;
+	flags = EEikDialogFlagWait;
+	pages = r_process_dialog_pages;
+	}
+
+RESOURCE DLG_BUTTONS r_process_dialog_buttons
+	{
+	buttons=
+		{
+		DLG_BUTTON
+			{
+			id=EProcessKillButtonCtl;
+			button=CMBUT { txt="Kill";};
+			hotkey = 'K';
+			},
+		DLG_BUTTON
+			{
+			id=EProcessSetButtonCtl;
+			button=CMBUT { txt="Set";};
+			hotkey = 'S';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidCancel;
+			button=CMBUT { txt="Cancel";};
+			hotkey = 'C';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidOk;
+			button=CMBUT { txt="Done";};
+			hotkey = 'D';
+			}
+		};
+	}
+
+RESOURCE ARRAY r_process_dialog_pages
+	{
+	items =
+		{
+		PAGE 
+			{
+     		text = "Process"; 
+			id = EProcessPageGeneral;
+			lines = r_process_dialog_page_general;
+			},
+		PAGE
+			{
+			text = "Priority"; 
+			id = EProcessPagePriority;
+			lines = r_process_dialog_page_priority;
+			},
+		PAGE
+			{
+			text = "Other"; 
+			id = EProcessPageOther;
+			lines = r_process_dialog_page_other;
+			}
+		};
+	}
+
+	
+RESOURCE ARRAY r_process_dialog_page_general
+	{
+	items = 
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH//itemflags=EEikDlgItemCtlSharesWidth;?
+			id = EProcessLabelTop;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Enter process id number and hit 'Get Process' to find and \nchange process attributes";
+				}; 
+			},
+		DLG_LINE
+			{
+			type = EXIKCTNUMBEREDITOR;
+			prompt = "Process Number";
+			id = EProcessNumberCtl;
+			control = A_NUMBER_EDITOR
+				{ 
+				min = 0; 
+				max = 1023; 
+				};
+			//itemflags = EEikDlgItemNoBorder | EEikDlgItemNonFocusing;
+			ITEMFLAG_NONFOCUSING
+			},
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_DENSELYPACKED
+			prompt = "Process: ";
+			id = EProcessLabelProcessName;
+			control = LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="";
+				}; 
+			},
+		DLG_LINE
+			{
+			type=EEikCtCommandButton;
+			ITEMFLAG_USEFULLWIDTH
+			id = EProcessGetButtonCtl;
+			control = CMBUT
+				{
+				txt="Get Process";
+				}; 
+			}
+		};
+	}
+
+RESOURCE ARRAY r_process_dialog_page_priority
+	{
+	items =
+		{
+			DLG_LINE 
+				{ 
+				prompt="Priority"; 
+				type=EEikCtChoiceList; 
+				id=EProcessPriorityButtonCtl;
+				control=CHOICELIST
+					{ 
+					array_id=r_process_priority_buttons; 
+					};
+				},
+			DLG_LINE
+				{
+				type=EEikCtLabel;
+				ITEMFLAG_USEFULLWIDTH
+				//prompt = "Priority";
+				id = EProcessPriorityText;
+				control = LABEL
+					{
+					horiz_align=EEikLabelAlignHLeft;
+					txt="";
+					}; 
+				}
+		};
+	}
+	
+RESOURCE ARRAY r_process_dialog_page_other
+	{
+	items = 
+		{
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="System"; 
+			id = EProcessSystemCtl;
+			},
+		DLG_LINE 
+			{ 
+			type=EEikCtCheckBox;
+			prompt="Protected"; 
+			id = EProcessProtectedCtl;
+			}
+		};
+	}
+
+RESOURCE ARRAY r_process_priority_buttons
+	{
+	items= 
+        { 
+        	LBUF { txt="EPriorityLow=150"; },			//	EProcessP150_PriorityLow
+        	LBUF { txt="EPriorityBackground=250"; },	//	EProcessP250_PriorityBackground
+        	LBUF { txt="EPriorityForeground=350"; },	//	EProcessP350_PriorityForeground
+		LBUF { txt="EPriorityHigh=450";},			//	EProcessP450_PriorityHigh
+		LBUF { txt="EPriorityWindowServer=650";},	//	EProcessP650_PriorityWindowServer
+		LBUF { txt="EPriorityFileServer=750";},		//	EProcessP750_PriorityFileServer
+		LBUF { txt="EPriorityRealTimeServer=850";},	//	EProcessP850_PriorityRealTimeServer	
+		LBUF { txt="EPrioritySupervisor=950";},		//	EProcessP950_PrioritySupervisor
+       	 	LBUF { txt ="PriorityNotStandard"; }	//	EProcessPriorityNotStandard
+             };
+	}
+//
+// Ram Dialog
+//
+
+RESOURCE DIALOG r_ram_dialog
+	{
+	title = "RAM Tool";
+	buttons = r_ram_dialog_buttons;
+	flags = EEikDialogFlagWait;
+		items =
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = ERamLabel1;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Fill the RAM by tapping OK. This will use RAM up to the amount specified";
+				}; 
+			},
+		DLG_LINE 
+			{ 
+			prompt="Leave RAM"; 
+			type=EXIKCTOPTIONBUTLIST; 
+			id=ERamToLeaveButtonCtl;
+			control=OPBUTLIST
+					{ 
+					array_id=r_ram_to_leave_buttons; 
+					};
+				},
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = ERamTotal;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Total";
+				}; 
+			},
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = ERamFree;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Free";
+				}; 
+			},
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH
+			id = ERamLabel2;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="To relinquish RAM kill this thread with the thread tool";
+				}; 
+			}
+		};
+	}
+
+RESOURCE DLG_BUTTONS r_ram_dialog_buttons
+	{
+	buttons=
+		{
+		DLG_BUTTON
+			{
+			id=ERamSetButtonCtl;
+			button=CMBUT { txt="Fill";};
+			hotkey = 'F';
+			},
+		DLG_BUTTON
+			{
+			id=ERamUndoFillButtonCtl;
+			button=CMBUT { txt="Undo Fill(s)";};
+			hotkey = 'U';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidCancel;
+			button=CMBUT { txt="Close";};
+			hotkey = 'C';
+			}
+		};
+	}
+
+RESOURCE ARRAY r_ram_to_leave_buttons
+	{
+	items= 
+       	{ 
+       	OPBUT { id = ERamLeave4K; text="<4K"; },
+       	OPBUT { id = ERamLeave8K; text="<8K"; },
+       	OPBUT { id = ERamLeave16K; text="<16K"; },
+		OPBUT { id = ERamLeave64K; text="<64K"; },
+		OPBUT { id = ERamLeave256K; text="<256K"; }
+       	};
+	}
+
+//
+// Drive Dialog
+//
+
+RESOURCE DIALOG r_drive_dialog
+	{
+	title = "Drive Tool";
+	buttons = r_drive_dialog_buttons;
+	flags = EEikDialogFlagWait;
+		items =
+		{
+		DLG_LINE
+			{
+			type=EEikCtLabel;
+			ITEMFLAG_USEFULLWIDTH //EEikDlgItemCtlGetsWidthFirst
+			id = ERamLabel1;
+			control=LABEL
+				{
+				horiz_align=EEikLabelAlignHLeft;
+				txt="Pick a drive. Fill the drive by tapping Fill. This will use space up to the \namount specified. This can be undone by tapping Undo Fill";
+				}; 
+
+			},
+		DLG_LINE 
+			{ 
+			prompt="Drive"; 
+			type=EEikCtChoiceList; 
+			id=EDriveChoiceList;
+			control=CHOICELIST
+				{
+			
+				};
+			},
+		DLG_LINE 
+			{ 
+			prompt="Leave space"; 
+			type=EXIKCTOPTIONBUTLIST;//EQikCtVertOptionButtonList; 
+			id=EDriveToLeaveButtonCtl;
+			control=OPBUTLIST
+					{ 
+					array_id=r_drive_to_leave_buttons; 
+					};
+			}
+		};
+	}
+
+RESOURCE DLG_BUTTONS r_drive_dialog_buttons
+	{
+	buttons=
+		{
+		DLG_BUTTON
+			{
+			id=EDriveFormatButtonCtl;
+			button=CMBUT { txt="Format";};
+			hotkey = 'T';
+			},
+		DLG_BUTTON
+			{
+			id=EDriveFillButtonCtl;
+			button=CMBUT { txt="Fill";};
+			hotkey = 'F';
+			},
+		DLG_BUTTON
+			{
+			id=EDriveUndoFillButtonCtl;
+			button=CMBUT { txt="Undo Fill(s)";};
+			hotkey = 'U';
+			},
+		DLG_BUTTON
+			{
+			id=EEikBidCancel;
+			button=CMBUT { txt="Close";};
+			hotkey = 'C';
+			}
+		};
+	}
+
+RESOURCE ARRAY r_drive_to_leave_buttons
+	{
+	items= 
+        	{ 
+        	OPBUT { id = EDriveLeave4K; text="<4K"; },
+        	OPBUT { id = EDriveLeave8K; text="<8K"; },
+			OPBUT { id = EDriveLeave16K; text="<16K"; },
+			OPBUT { id = EDriveLeave64K; text="<64K"; },
+        	OPBUT { id = EDriveLeave256K; text="<256K"; }
+         	};
+	}