// 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"; }
};
}