I have an editor with a custom special character table. I create it with the following resources:
Code:
RESOURCE DIALOG r_my_special_character_table_dialog
	{
	flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
	buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL;
	items=
		{
		DLG_LINE
			{
			type = EAknCtPopupHeadingPane;
			id = EAknSCTQueryHeadingId;
			control = AVKON_HEADING
				{
				label = STR_SelectSymbol;
				headinglayout = R_AVKON_SCT_LIST_HEADING_PANE;
				};
			},
		DLG_LINE
			{
			type = EAknCtSpecialCharacterMap;
			id = EAknSCTQueryContentId;
			control = SPECIAL_CHAR_TABLE
				{
				contents =
					{
					SCT_CHAR_SET
						{
						id = EAknSCTLowerCase;
						chars = ";+";
						},
					SCT_CHAR_SET
						{
						id = EAknSCTUpperCase;
						chars = ";+";
						},
					SCT_CHAR_SET
						{
						id = EAknSCTNumeric;
						chars = ";+";
						}
					};
				};
			}
		};
	}

RESOURCE RTXTED r_new_message_container_txt_to
	{
	numlines = 0;
	default_case = EAknEditorTextCase;
	allowed_case_modes = EAknEditorAllCaseModes;
	numeric_keymap = EAknEditorStandardNumberModeKeymap;
	default_input_mode = EAknEditorNumericInputMode;
	allowed_input_modes = EAknEditorNumericInputMode | EAknEditorFullWidthNumericInputMode;
	flags = EEikEdwinResizable;
	avkon_flags = EAknEditorFlagEnableScrollBars;
	special_character_table = r_my_special_character_table_dialog;
	}
I can see that my own special characters table is getting loaded because if I change the dialog's caption (STR_SelectSymbol in the code sample) I can see the change in my application. But no matter what I do, the special characters in the table are always *, +, p and w.

All I need is an editor that allows only numeric input or the plus sign or a semicolon (hence the ";+" in the SCT_CHAR_SETs).

Any ideas on what I'm doing wrong?

shmoove