Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/enhance/src/lib Modified Files: enhance.c enhance_widget.c Log Message: - support stocks (lok, thanks) - move Andy's code to our generic propery handler code =================================================================== RCS file: /cvs/e/e17/proto/enhance/src/lib/enhance.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- enhance.c 18 Apr 2006 15:00:19 -0000 1.4 +++ enhance.c 17 May 2006 12:35:02 -0000 1.5 @@ -8,6 +8,316 @@ static void _e_traverse_child_xml(Enhance *en); static E_Widget *_e_traverse_widget_xml(Enhance *en); static void _e_traverse_xml(Enhance *en); +static Ecore_Hash*_en_stock_items_hash=NULL; +static void _en_stock_items_hash_init(void); + +typedef struct _En_Stock_Item +{ + char *str; + Etk_Stock_Id id; +} En_Stock_Item; + +static const En_Stock_Item en_stock_items[] = +{ + { "ETK_STOCK_ADDRESS_BOOK_NEW", ETK_STOCK_ADDRESS_BOOK_NEW }, + { "ETK_STOCK_APPOINTMENT_NEW", ETK_STOCK_APPOINTMENT_NEW }, + { "ETK_STOCK_BOOKMARK_NEW", ETK_STOCK_BOOKMARK_NEW }, + { "ETK_STOCK_CONTACT_NEW", ETK_STOCK_CONTACT_NEW }, + { "ETK_STOCK_DIALOG_OK", ETK_STOCK_DIALOG_OK }, + { "ETK_STOCK_DIALOG_CANCEL", ETK_STOCK_DIALOG_CANCEL }, + { "ETK_STOCK_DIALOG_YES", ETK_STOCK_DIALOG_YES }, + { "ETK_STOCK_DIALOG_NO", ETK_STOCK_DIALOG_NO }, + { "ETK_STOCK_DIALOG_CLOSE", ETK_STOCK_DIALOG_CLOSE }, + { "ETK_STOCK_DOCUMENT_NEW", ETK_STOCK_DOCUMENT_NEW }, + { "ETK_STOCK_DOCUMENT_OPEN", ETK_STOCK_DOCUMENT_OPEN }, + { "ETK_STOCK_DOCUMENT_PRINT", ETK_STOCK_DOCUMENT_PRINT }, + { "ETK_STOCK_DOCUMENT_PRINT_PREVIEW", ETK_STOCK_DOCUMENT_PRINT_PREVIEW }, + { "ETK_STOCK_DOCUMENT_PROPERTIES", ETK_STOCK_DOCUMENT_PROPERTIES }, + { "ETK_STOCK_DOCUMENT_SAVE_AS", ETK_STOCK_DOCUMENT_SAVE_AS }, + { "ETK_STOCK_DOCUMENT_SAVE", ETK_STOCK_DOCUMENT_SAVE }, + { "ETK_STOCK_EDIT_CLEAR", ETK_STOCK_EDIT_CLEAR }, + { "ETK_STOCK_EDIT_COPY", ETK_STOCK_EDIT_COPY }, + { "ETK_STOCK_EDIT_CUT", ETK_STOCK_EDIT_CUT }, + { "ETK_STOCK_EDIT_FIND", ETK_STOCK_EDIT_FIND }, + { "ETK_STOCK_EDIT_PASTE", ETK_STOCK_EDIT_PASTE }, + { "ETK_STOCK_EDIT_REDO", ETK_STOCK_EDIT_REDO }, + { "ETK_STOCK_EDIT_UNDO", ETK_STOCK_EDIT_UNDO }, + { "ETK_STOCK_EDIT_DELETE", ETK_STOCK_EDIT_DELETE }, + { "ETK_STOCK_EDIT_FIND_REPLACE", ETK_STOCK_EDIT_FIND_REPLACE }, + { "ETK_STOCK_FOLDER_NEW", ETK_STOCK_FOLDER_NEW }, + { "ETK_STOCK_FORMAT_INDENT_LESS", ETK_STOCK_FORMAT_INDENT_LESS }, + { "ETK_STOCK_FORMAT_INDENT_MORE", ETK_STOCK_FORMAT_INDENT_MORE }, + { "ETK_STOCK_FORMAT_JUSTIFY_CENTER", ETK_STOCK_FORMAT_JUSTIFY_CENTER }, + { "ETK_STOCK_FORMAT_JUSTIFY_FILL", ETK_STOCK_FORMAT_JUSTIFY_FILL }, + { "ETK_STOCK_FORMAT_JUSTIFY_LEFT", ETK_STOCK_FORMAT_JUSTIFY_LEFT }, + { "ETK_STOCK_FORMAT_JUSTIFY_RIGHT", ETK_STOCK_FORMAT_JUSTIFY_RIGHT }, + { "ETK_STOCK_FORMAT_TEXT_BOLD", ETK_STOCK_FORMAT_TEXT_BOLD }, + { "ETK_STOCK_FORMAT_TEXT_ITALIC", ETK_STOCK_FORMAT_TEXT_ITALIC }, + { "ETK_STOCK_FORMAT_TEXT_STRIKETHROUGH", ETK_STOCK_FORMAT_TEXT_STRIKETHROUGH }, + { "ETK_STOCK_FORMAT_TEXT_UNDERLINE", ETK_STOCK_FORMAT_TEXT_UNDERLINE }, + { "ETK_STOCK_GO_BOTTOM", ETK_STOCK_GO_BOTTOM }, + { "ETK_STOCK_GO_DOWN", ETK_STOCK_GO_DOWN }, + { "ETK_STOCK_GO_FIRST", ETK_STOCK_GO_FIRST }, + { "ETK_STOCK_GO_HOME", ETK_STOCK_GO_HOME }, + { "ETK_STOCK_GO_JUMP", ETK_STOCK_GO_JUMP }, + { "ETK_STOCK_GO_LAST", ETK_STOCK_GO_LAST }, + { "ETK_STOCK_GO_NEXT", ETK_STOCK_GO_NEXT }, + { "ETK_STOCK_GO_PREVIOUS", ETK_STOCK_GO_PREVIOUS }, + { "ETK_STOCK_GO_TOP", ETK_STOCK_GO_TOP }, + { "ETK_STOCK_GO_UP", ETK_STOCK_GO_UP }, + { "ETK_STOCK_LIST_ADD", ETK_STOCK_LIST_ADD }, + { "ETK_STOCK_LIST_REMOVE", ETK_STOCK_LIST_REMOVE }, + { "ETK_STOCK_MAIL_MESSAGE_NEW", ETK_STOCK_MAIL_MESSAGE_NEW }, + { "ETK_STOCK_MAIL_FORWARD", ETK_STOCK_MAIL_FORWARD }, + { "ETK_STOCK_MAIL_MARK_JUNK", ETK_STOCK_MAIL_MARK_JUNK }, + { "ETK_STOCK_MAIL_REPLY_ALL", ETK_STOCK_MAIL_REPLY_ALL }, + { "ETK_STOCK_MAIL_REPLY_SENDER", ETK_STOCK_MAIL_REPLY_SENDER }, + { "ETK_STOCK_MAIL_SEND_RECEIVE", ETK_STOCK_MAIL_SEND_RECEIVE }, + { "ETK_STOCK_MEDIA_EJECT", ETK_STOCK_MEDIA_EJECT }, + { "ETK_STOCK_MEDIA_PLAYBACK_PAUSE", ETK_STOCK_MEDIA_PLAYBACK_PAUSE }, + { "ETK_STOCK_MEDIA_PLAYBACK_START", ETK_STOCK_MEDIA_PLAYBACK_START }, + { "ETK_STOCK_MEDIA_PLAYBACK_STOP", ETK_STOCK_MEDIA_PLAYBACK_STOP }, + { "ETK_STOCK_MEDIA_RECORD", ETK_STOCK_MEDIA_RECORD }, + { "ETK_STOCK_MEDIA_SEEK_BACKWARD", ETK_STOCK_MEDIA_SEEK_BACKWARD }, + { "ETK_STOCK_MEDIA_SEEK_FORWARD", ETK_STOCK_MEDIA_SEEK_FORWARD }, + { "ETK_STOCK_MEDIA_SKIP_BACKWARD", ETK_STOCK_MEDIA_SKIP_BACKWARD }, + { "ETK_STOCK_MEDIA_SKIP_FORWARD", ETK_STOCK_MEDIA_SKIP_FORWARD }, + { "ETK_STOCK_PROCESS_STOP", ETK_STOCK_PROCESS_STOP }, + { "ETK_STOCK_SYSTEM_LOCK_SCREEN", ETK_STOCK_SYSTEM_LOCK_SCREEN }, + { "ETK_STOCK_SYSTEM_LOG_OUT", ETK_STOCK_SYSTEM_LOG_OUT }, + { "ETK_STOCK_SYSTEM_SEARCH", ETK_STOCK_SYSTEM_SEARCH }, + { "ETK_STOCK_SYSTEM_SHUTDOWN", ETK_STOCK_SYSTEM_SHUTDOWN }, + { "ETK_STOCK_TAB_NEW", ETK_STOCK_TAB_NEW }, + { "ETK_STOCK_VIEW_REFRESH", ETK_STOCK_VIEW_REFRESH }, + { "ETK_STOCK_WINDOW_NEW", ETK_STOCK_WINDOW_NEW }, + { "ETK_STOCK_ACCESSORIES_CALCULATOR", ETK_STOCK_ACCESSORIES_CALCULATOR }, + { "ETK_STOCK_ACCESSORIES_CHARACTER_MAP", ETK_STOCK_ACCESSORIES_CHARACTER_MAP }, + { "ETK_STOCK_ACCESSORIES_TEXT_EDITOR", ETK_STOCK_ACCESSORIES_TEXT_EDITOR }, + { "ETK_STOCK_HELP_BROWSER", ETK_STOCK_HELP_BROWSER }, + { "ETK_STOCK_INTERNET_GROUP_CHAT", ETK_STOCK_INTERNET_GROUP_CHAT }, + { "ETK_STOCK_INTERNET_MAIL", ETK_STOCK_INTERNET_MAIL }, + { "ETK_STOCK_INTERNET_NEWS_READER", ETK_STOCK_INTERNET_NEWS_READER }, + { "ETK_STOCK_INTERNET_WEB_BROWSER", ETK_STOCK_INTERNET_WEB_BROWSER }, + { "ETK_STOCK_MULTIMEDIA_VOLUME_CONTROL", ETK_STOCK_MULTIMEDIA_VOLUME_CONTROL }, + { "ETK_STOCK_OFFICE_CALENDAR", ETK_STOCK_OFFICE_CALENDAR }, + { "ETK_STOCK_PREFERENCES_DESKTOP_ACCESSIBILITY", ETK_STOCK_PREFERENCES_DESKTOP_ACCESSIBILITY }, + { "ETK_STOCK_PREFERENCES_DESKTOP_ASSISTIVE_TECHNOLOGY", ETK_STOCK_PREFERENCES_DESKTOP_ASSISTIVE_TECHNOLOGY }, + { "ETK_STOCK_PREFERENCES_DESKTOP_FONT", ETK_STOCK_PREFERENCES_DESKTOP_FONT }, + { "ETK_STOCK_PREFERENCES_DESKTOP_KEYBOARD_SHORTCUTS", ETK_STOCK_PREFERENCES_DESKTOP_KEYBOARD_SHORTCUTS }, + { "ETK_STOCK_PREFERENCES_DESKTOP_LOCALE", ETK_STOCK_PREFERENCES_DESKTOP_LOCALE }, + { "ETK_STOCK_PREFERENCES_DESKTOP_REMOTE_DESKTOP", ETK_STOCK_PREFERENCES_DESKTOP_REMOTE_DESKTOP }, + { "ETK_STOCK_PREFERENCES_DESKTOP_SOUND", ETK_STOCK_PREFERENCES_DESKTOP_SOUND }, + { "ETK_STOCK_PREFERENCES_DESKTOP_SCREENSAVER", ETK_STOCK_PREFERENCES_DESKTOP_SCREENSAVER }, + { "ETK_STOCK_PREFERENCES_DESKTOP_THEME", ETK_STOCK_PREFERENCES_DESKTOP_THEME }, + { "ETK_STOCK_PREFERENCES_DESKTOP_WALLPAPER", ETK_STOCK_PREFERENCES_DESKTOP_WALLPAPER }, + { "ETK_STOCK_PREFERENCES_SYSTEM_NETWORK_PROXY", ETK_STOCK_PREFERENCES_SYSTEM_NETWORK_PROXY }, + { "ETK_STOCK_PREFERENCES_SYSTEM_SESSION", ETK_STOCK_PREFERENCES_SYSTEM_SESSION }, + { "ETK_STOCK_PREFERENCES_SYSTEM_WINDOWS", ETK_STOCK_PREFERENCES_SYSTEM_WINDOWS }, + { "ETK_STOCK_SYSTEM_FILE_MANAGER", ETK_STOCK_SYSTEM_FILE_MANAGER }, + { "ETK_STOCK_SYSTEM_INSTALLER", ETK_STOCK_SYSTEM_INSTALLER }, + { "ETK_STOCK_SYSTEM_SOFTWARE_UPDATE", ETK_STOCK_SYSTEM_SOFTWARE_UPDATE }, + { "ETK_STOCK_SYSTEM_USERS", ETK_STOCK_SYSTEM_USERS }, + { "ETK_STOCK_UTILITIES_SYSTEM_MONITOR", ETK_STOCK_UTILITIES_SYSTEM_MONITOR }, + { "ETK_STOCK_UTILITIES_TERMINAL", ETK_STOCK_UTILITIES_TERMINAL }, + { "ETK_STOCK_APPLICATIONS_ACCESSORIES", ETK_STOCK_APPLICATIONS_ACCESSORIES }, + { "ETK_STOCK_APPLICATIONS_DEVELOPMENT", ETK_STOCK_APPLICATIONS_DEVELOPMENT }, + { "ETK_STOCK_APPLICATIONS_GAMES", ETK_STOCK_APPLICATIONS_GAMES }, + { "ETK_STOCK_APPLICATIONS_GRAPHICS", ETK_STOCK_APPLICATIONS_GRAPHICS }, + { "ETK_STOCK_APPLICATIONS_INTERNET", ETK_STOCK_APPLICATIONS_INTERNET }, + { "ETK_STOCK_APPLICATIONS_MULTIMEDIA", ETK_STOCK_APPLICATIONS_MULTIMEDIA }, + { "ETK_STOCK_APPLICATIONS_OFFICE", ETK_STOCK_APPLICATIONS_OFFICE }, + { "ETK_STOCK_APPLICATIONS_OTHER", ETK_STOCK_APPLICATIONS_OTHER }, + { "ETK_STOCK_APPLICATIONS_SYSTEM", ETK_STOCK_APPLICATIONS_SYSTEM }, + { "ETK_STOCK_PREFERENCES_DESKTOP_PERIPHERALS", ETK_STOCK_PREFERENCES_DESKTOP_PERIPHERALS }, + { "ETK_STOCK_PREFERENCES_DESKTOP", ETK_STOCK_PREFERENCES_DESKTOP }, + { "ETK_STOCK_PREFERENCES_SYSTEM", ETK_STOCK_PREFERENCES_SYSTEM }, + { "ETK_STOCK_AUDIO_CARD", ETK_STOCK_AUDIO_CARD }, + { "ETK_STOCK_AUDIO_INPUT_MICROPHONE", ETK_STOCK_AUDIO_INPUT_MICROPHONE }, + { "ETK_STOCK_BATTERY", ETK_STOCK_BATTERY }, + { "ETK_STOCK_CAMERA_PHOTO", ETK_STOCK_CAMERA_PHOTO }, + { "ETK_STOCK_CAMERA_VIDEO", ETK_STOCK_CAMERA_VIDEO }, + { "ETK_STOCK_COMPUTER", ETK_STOCK_COMPUTER }, + { "ETK_STOCK_DRIVE_CDROM", ETK_STOCK_DRIVE_CDROM }, + { "ETK_STOCK_DRIVE_HARDDISK", ETK_STOCK_DRIVE_HARDDISK }, + { "ETK_STOCK_DRIVE_REMOVABLE_MEDIA", ETK_STOCK_DRIVE_REMOVABLE_MEDIA }, + { "ETK_STOCK_INPUT_GAMING", ETK_STOCK_INPUT_GAMING }, + { "ETK_STOCK_INPUT_KEYBOARD", ETK_STOCK_INPUT_KEYBOARD }, + { "ETK_STOCK_INPUT_MOUSE", ETK_STOCK_INPUT_MOUSE }, + { "ETK_STOCK_MEDIA_CDROM", ETK_STOCK_MEDIA_CDROM }, + { "ETK_STOCK_MEDIA_FLOPPY", ETK_STOCK_MEDIA_FLOPPY }, + { "ETK_STOCK_MULTIMEDIA_PLAYER", ETK_STOCK_MULTIMEDIA_PLAYER }, + { "ETK_STOCK_NETWORK", ETK_STOCK_NETWORK }, + { "ETK_STOCK_NETWORK_WIRELESS", ETK_STOCK_NETWORK_WIRELESS }, + { "ETK_STOCK_NETWORK_WIRED", ETK_STOCK_NETWORK_WIRED }, + { "ETK_STOCK_PRINTER", ETK_STOCK_PRINTER }, + { "ETK_STOCK_PRINTER_REMOTE", ETK_STOCK_PRINTER_REMOTE }, + { "ETK_STOCK_VIDEO_DISPLAY", ETK_STOCK_VIDEO_DISPLAY }, + { "ETK_STOCK_EMBLEM_FAVORITE", ETK_STOCK_EMBLEM_FAVORITE }, + { "ETK_STOCK_EMBLEM_IMPORTANT", ETK_STOCK_EMBLEM_IMPORTANT }, + { "ETK_STOCK_EMBLEM_PHOTOS", ETK_STOCK_EMBLEM_PHOTOS }, + { "ETK_STOCK_EMBLEM_READONLY", ETK_STOCK_EMBLEM_READONLY }, + { "ETK_STOCK_EMBLEM_SYMBOLIC_LINK", ETK_STOCK_EMBLEM_SYMBOLIC_LINK }, + { "ETK_STOCK_EMBLEM_SYSTEM", ETK_STOCK_EMBLEM_SYSTEM }, + { "ETK_STOCK_EMBLEM_UNREADABLE", ETK_STOCK_EMBLEM_UNREADABLE }, + { "ETK_STOCK_FACE_ANGEL", ETK_STOCK_FACE_ANGEL }, + { "ETK_STOCK_FACE_CRYING", ETK_STOCK_FACE_CRYING }, + { "ETK_STOCK_FACE_DEVIL_GRIN", ETK_STOCK_FACE_DEVIL_GRIN }, + { "ETK_STOCK_FACE_GLASSES", ETK_STOCK_FACE_GLASSES }, + { "ETK_STOCK_FACE_GRIN", ETK_STOCK_FACE_GRIN }, + { "ETK_STOCK_FACE_KISS", ETK_STOCK_FACE_KISS }, + { "ETK_STOCK_FACE_PLAIN", ETK_STOCK_FACE_PLAIN }, + { "ETK_STOCK_FACE_SAD", ETK_STOCK_FACE_SAD }, + { "ETK_STOCK_FACE_SMILE_BIG", ETK_STOCK_FACE_SMILE_BIG }, + { "ETK_STOCK_FACE_SMILE", ETK_STOCK_FACE_SMILE }, + { "ETK_STOCK_FACE_SURPRISE", ETK_STOCK_FACE_SURPRISE }, + { "ETK_STOCK_FACE_WINK", ETK_STOCK_FACE_WINK }, + { "ETK_STOCK_APPLICATION_CERTIFICATE", ETK_STOCK_APPLICATION_CERTIFICATE }, + { "ETK_STOCK_APPLICATION_X_EXECUTABLE", ETK_STOCK_APPLICATION_X_EXECUTABLE }, + { "ETK_STOCK_AUDIO_X_GENERIC", ETK_STOCK_AUDIO_X_GENERIC }, + { "ETK_STOCK_FONT_X_GENERIC", ETK_STOCK_FONT_X_GENERIC }, + { "ETK_STOCK_IMAGE_X_GENERIC", ETK_STOCK_IMAGE_X_GENERIC }, + { "ETK_STOCK_PACKAGE_X_GENERIC", ETK_STOCK_PACKAGE_X_GENERIC }, + { "ETK_STOCK_TEXT_HTML", ETK_STOCK_TEXT_HTML }, + { "ETK_STOCK_TEXT_X_GENERIC", ETK_STOCK_TEXT_X_GENERIC }, + { "ETK_STOCK_TEXT_X_GENERIC_TEMPLATE", ETK_STOCK_TEXT_X_GENERIC_TEMPLATE }, + { "ETK_STOCK_TEXT_X_SCRIPT", ETK_STOCK_TEXT_X_SCRIPT }, + { "ETK_STOCK_VIDEO_X_GENERIC", ETK_STOCK_VIDEO_X_GENERIC }, + { "ETK_STOCK_X_DIRECTORY_DESKTOP", ETK_STOCK_X_DIRECTORY_DESKTOP }, + { "ETK_STOCK_X_DIRECTORY_NORMAL_DRAG_ACCEPT", ETK_STOCK_X_DIRECTORY_NORMAL_DRAG_ACCEPT }, + { "ETK_STOCK_X_DIRECTORY_NORMAL_HOME", ETK_STOCK_X_DIRECTORY_NORMAL_HOME }, + { "ETK_STOCK_X_DIRECTORY_NORMAL_OPEN", ETK_STOCK_X_DIRECTORY_NORMAL_OPEN }, + { "ETK_STOCK_X_DIRECTORY_NORMAL", ETK_STOCK_X_DIRECTORY_NORMAL }, + { "ETK_STOCK_X_DIRECTORY_NORMAL_VISITING", ETK_STOCK_X_DIRECTORY_NORMAL_VISITING }, + { "ETK_STOCK_X_DIRECTORY_REMOTE", ETK_STOCK_X_DIRECTORY_REMOTE }, + { "ETK_STOCK_X_DIRECTORY_REMOTE_SERVER", ETK_STOCK_X_DIRECTORY_REMOTE_SERVER }, + { "ETK_STOCK_X_DIRECTORY_REMOTE_WORKGROUP", ETK_STOCK_X_DIRECTORY_REMOTE_WORKGROUP }, + { "ETK_STOCK_X_DIRECTORY_TRASH_FULL", ETK_STOCK_X_DIRECTORY_TRASH_FULL }, + { "ETK_STOCK_X_DIRECTORY_TRASH", ETK_STOCK_X_DIRECTORY_TRASH }, + { "ETK_STOCK_X_OFFICE_ADDRESS_BOOK", ETK_STOCK_X_OFFICE_ADDRESS_BOOK }, + { "ETK_STOCK_X_OFFICE_CALENDAR", ETK_STOCK_X_OFFICE_CALENDAR }, + { "ETK_STOCK_X_OFFICE_DOCUMENT", ETK_STOCK_X_OFFICE_DOCUMENT }, + { "ETK_STOCK_X_OFFICE_PRESENTATION", ETK_STOCK_X_OFFICE_PRESENTATION }, + { "ETK_STOCK_X_OFFICE_SPREADSHEET", ETK_STOCK_X_OFFICE_SPREADSHEET }, + { "ETK_STOCK_PLACES_FOLDER", ETK_STOCK_PLACES_FOLDER }, + { "ETK_STOCK_PLACES_FOLDER_REMOTE", ETK_STOCK_PLACES_FOLDER_REMOTE }, + { "ETK_STOCK_PLACES_FOLDER_SAVED_SEARCH", ETK_STOCK_PLACES_FOLDER_SAVED_SEARCH }, + { "ETK_STOCK_PLACES_NETWORK_SERVER", ETK_STOCK_PLACES_NETWORK_SERVER }, + { "ETK_STOCK_PLACES_NETWORK_WORKGROUP", ETK_STOCK_PLACES_NETWORK_WORKGROUP }, + { "ETK_STOCK_PLACES_START_HERE", ETK_STOCK_PLACES_START_HERE }, + { "ETK_STOCK_PLACES_USER_DESKTOP", ETK_STOCK_PLACES_USER_DESKTOP }, + { "ETK_STOCK_PLACES_USER_HOME", ETK_STOCK_PLACES_USER_HOME }, + { "ETK_STOCK_PLACES_USER_TRASH", ETK_STOCK_PLACES_USER_TRASH }, + { "ETK_STOCK_AUDIO_VOLUME_HIGH", ETK_STOCK_AUDIO_VOLUME_HIGH }, + { "ETK_STOCK_AUDIO_VOLUME_LOW", ETK_STOCK_AUDIO_VOLUME_LOW }, + { "ETK_STOCK_AUDIO_VOLUME_MEDIUM", ETK_STOCK_AUDIO_VOLUME_MEDIUM }, + { "ETK_STOCK_AUDIO_VOLUME_MUTED", ETK_STOCK_AUDIO_VOLUME_MUTED }, + { "ETK_STOCK_BATTERY_CAUTION", ETK_STOCK_BATTERY_CAUTION }, + { "ETK_STOCK_DIALOG_ERROR", ETK_STOCK_DIALOG_ERROR }, + { "ETK_STOCK_DIALOG_INFORMATION", ETK_STOCK_DIALOG_INFORMATION }, + { "ETK_STOCK_DIALOG_WARNING", ETK_STOCK_DIALOG_WARNING }, + { "ETK_STOCK_DIALOG_QUESTION", ETK_STOCK_DIALOG_QUESTION }, + { "ETK_STOCK_FOLDER_DRAG_ACCEPT", ETK_STOCK_FOLDER_DRAG_ACCEPT }, + { "ETK_STOCK_FOLDER_OPEN", ETK_STOCK_FOLDER_OPEN }, + { "ETK_STOCK_FOLDER_VISITING", ETK_STOCK_FOLDER_VISITING }, + { "ETK_STOCK_IMAGE_LOADING", ETK_STOCK_IMAGE_LOADING }, + { "ETK_STOCK_IMAGE_MISSING", ETK_STOCK_IMAGE_MISSING }, + { "ETK_STOCK_MAIL_ATTACHMENT", ETK_STOCK_MAIL_ATTACHMENT }, + { "ETK_STOCK_NETWORK_ERROR", ETK_STOCK_NETWORK_ERROR }, + { "ETK_STOCK_NETWORK_IDLE", ETK_STOCK_NETWORK_IDLE }, + { "ETK_STOCK_NETWORK_OFFLINE", ETK_STOCK_NETWORK_OFFLINE }, + { "ETK_STOCK_NETWORK_ONLINE", ETK_STOCK_NETWORK_ONLINE }, + { "ETK_STOCK_NETWORK_RECEIVE", ETK_STOCK_NETWORK_RECEIVE }, + { "ETK_STOCK_NETWORK_TRANSMIT", ETK_STOCK_NETWORK_TRANSMIT }, + { "ETK_STOCK_NETWORK_TRANSMIT_RECEIVE", ETK_STOCK_NETWORK_TRANSMIT_RECEIVE }, + { "ETK_STOCK_NETWORK_WIRELESS_ENCRYPTED", ETK_STOCK_NETWORK_WIRELESS_ENCRYPTED }, + { "ETK_STOCK_PRINTER_ERROR", ETK_STOCK_PRINTER_ERROR }, + { "ETK_STOCK_USER_TRASH_FULL", ETK_STOCK_USER_TRASH_FULL }, + { "gtk-home", ETK_STOCK_GO_HOME}, + { "gtk-go-up", ETK_STOCK_GO_UP}, + { "gtk-stock-timer", ETK_STOCK_APPOINTMENT_NEW}, + { "gtk-apply", ETK_STOCK_DIALOG_OK}, + { "gtk-ok", ETK_STOCK_DIALOG_OK}, + { "gtk-cancel", ETK_STOCK_DIALOG_CANCEL}, + { "gtk-yes", ETK_STOCK_DIALOG_YES}, + { "gtk-no", ETK_STOCK_DIALOG_NO}, + { "gtk-close", ETK_STOCK_DIALOG_CLOSE}, + { "gtk-new", ETK_STOCK_DOCUMENT_NEW}, + { "gtk-open", ETK_STOCK_DOCUMENT_OPEN}, + { "gtk-print", ETK_STOCK_DOCUMENT_PRINT}, + { "gtk-print-preview", ETK_STOCK_DOCUMENT_PRINT_PREVIEW}, + { "gtk-properties", ETK_STOCK_DOCUMENT_PROPERTIES}, + { "gtk-save-as", ETK_STOCK_DOCUMENT_SAVE_AS}, + { "gtk-save", ETK_STOCK_DOCUMENT_SAVE}, + { "gtk-clear", ETK_STOCK_EDIT_CLEAR}, + { "gtk-copy", ETK_STOCK_EDIT_COPY}, + { "gnome-stock-multiple-file", ETK_STOCK_EDIT_COPY}, + { "gtk-cut", ETK_STOCK_EDIT_CUT}, + { "gtk-find", ETK_STOCK_EDIT_FIND}, + { "gtk-paste", ETK_STOCK_EDIT_PASTE}, + { "gtk-redo", ETK_STOCK_EDIT_REDO}, + { "gtk-delete", ETK_STOCK_EDIT_DELETE}, + { "gtk-find-and-replace", ETK_STOCK_EDIT_FIND_REPLACE}, + { "gtk-unindent", ETK_STOCK_FORMAT_INDENT_LESS}, + { "gtk-indent", ETK_STOCK_FORMAT_INDENT_MORE}, + { "gtk-justify-center", ETK_STOCK_FORMAT_JUSTIFY_CENTER}, + { "gtk-justify-fill", ETK_STOCK_FORMAT_JUSTIFY_FILL}, + { "gtk-justify-left", ETK_STOCK_FORMAT_JUSTIFY_LEFT}, + { "gtk-justify-right", ETK_STOCK_FORMAT_JUSTIFY_RIGHT}, + { "gtk-bold", ETK_STOCK_FORMAT_TEXT_BOLD}, + { "gtk-italic", ETK_STOCK_FORMAT_TEXT_ITALIC}, + { "gtk-strikethrough", ETK_STOCK_FORMAT_TEXT_STRIKETHROUGH}, + { "gtk-underline", ETK_STOCK_FORMAT_TEXT_UNDERLINE}, + { "gtk-goto-bottom", ETK_STOCK_GO_BOTTOM}, + { "gtk-go-down", ETK_STOCK_GO_DOWN}, + { "gtk-goto-first", ETK_STOCK_GO_FIRST}, + { "gtk-home", ETK_STOCK_GO_HOME}, + { "gtk-jump-to", ETK_STOCK_GO_JUMP}, + { "gtk-goto-last", ETK_STOCK_GO_LAST}, + { "gtk-go-forward", ETK_STOCK_GO_NEXT}, + { "gtk-go-back", ETK_STOCK_GO_PREVIOUS}, + { "gtk-goto-top", ETK_STOCK_GO_TOP}, + { "gtk-go-up", ETK_STOCK_GO_UP}, + { "gtk-add", ETK_STOCK_LIST_ADD}, + { "gtk-remove", ETK_STOCK_LIST_REMOVE}, + { "gnome-stock-mail-new", ETK_STOCK_MAIL_MESSAGE_NEW}, + { "gtk-stock-mail-fwd", ETK_STOCK_MAIL_FORWARD}, + { "gnome-stock-mail-rpl", ETK_STOCK_MAIL_REPLY_SENDER}, + { "gtk-media-pause", ETK_STOCK_MEDIA_PLAYBACK_PAUSE}, + { "gtk-media-play", ETK_STOCK_MEDIA_PLAYBACK_START}, + { "gtk-media-record", ETK_STOCK_MEDIA_RECORD}, + { "gtk-media-rewind", ETK_STOCK_MEDIA_SEEK_BACKWARD}, + { "gtk-media-forward", ETK_STOCK_MEDIA_SEEK_FORWARD}, + { "gtk-media-previous", ETK_STOCK_MEDIA_SKIP_BACKWARD}, + { "gtk-media-next", ETK_STOCK_MEDIA_SKIP_FORWARD}, + { "gtk-stop", ETK_STOCK_PROCESS_STOP}, + { "gtk-quit", ETK_STOCK_SYSTEM_LOG_OUT}, + { "gtk-refresh", ETK_STOCK_VIEW_REFRESH}, + { "gtk-about", ETK_STOCK_HELP_BROWSER}, + { "gnome-stock-about", ETK_STOCK_HELP_BROWSER}, + { "gtk-help", ETK_STOCK_HELP_BROWSER}, + { "gtk-info", ETK_STOCK_HELP_BROWSER}, + { "gnome-stock-mail", ETK_STOCK_INTERNET_MAIL}, + { "gnome-stock-volume", ETK_STOCK_MULTIMEDIA_VOLUME_CONTROL}, + { "gtk-select-font", ETK_STOCK_PREFERENCES_DESKTOP_FONT}, + { "gtk-execute", ETK_STOCK_APPLICATIONS_SYSTEM}, + { "gtk-preferences", ETK_STOCK_PREFERENCES_SYSTEM}, + { "gnome-stock-mic", ETK_STOCK_AUDIO_INPUT_MICROPHONE}, + { "gtk-harddrive", ETK_STOCK_DRIVE_HARDDISK}, + { "gtk-cdrom", ETK_STOCK_MEDIA_CDROM}, + { "gtk-floppy", ETK_STOCK_MEDIA_FLOPPY}, + { "gtk-network", ETK_STOCK_NETWORK}, + { "gtk-file", ETK_STOCK_TEXT_X_GENERIC}, + { "gtk-directory", ETK_STOCK_X_DIRECTORY_NORMAL_OPEN}, + { "gnome-stock-trash-full", ETK_STOCK_X_DIRECTORY_TRASH_FULL}, + { "gnome-stock-trash", ETK_STOCK_X_DIRECTORY_TRASH}, + { "gtk-dialog-error", ETK_STOCK_DIALOG_ERROR}, + { "gtk-dialog-info", ETK_STOCK_DIALOG_INFORMATION}, + { "gtk-dialog-warning", ETK_STOCK_DIALOG_WARNING}, + { "gtk-dialog-question", ETK_STOCK_DIALOG_QUESTION}, + { "gnome-stock-attach", ETK_STOCK_MAIL_ATTACHMENT}, + { "gtk-missing-image", ETK_STOCK_IMAGE_MISSING}, +}; + #ifdef ENHANCE_MEM_DEBUG Evas_Hash *mem_objects = NULL; @@ -230,12 +540,13 @@ PROPERTY_BOOL; etk_window_skip_pager_hint_set(ETK_WINDOW(wid-wid), value); } - - else if(!strcmp(name, "label")) + + else if(!strcmp(name, "label")) { IF_PARENT_CLASS("GtkButton") etk_button_label_set(ETK_BUTTON(wid->wid), node->value); } + else if(!strcmp(name, "items")) { IF_PARENT_CLASS("GtkComboBox") @@ -254,6 +565,56 @@ while ((tok = strtok(NULL, "\n")) != NULL); } } + + else if(!strcmp(name, "height_request")) + { + PROPERTY_INT; + etk_object_properties_set(ETK_OBJECT(wid->wid), "height_request", value, NULL); + } + + else if(!strcmp(name, "width_request")) + { + PROPERTY_INT; + etk_object_properties_set(ETK_OBJECT(wid->wid), "width_request", value, NULL); + } + + else if(!strcmp(name, "stock")) + { + Etk_Stock_Id id; + PROPERTY_STR; + IF_PARENT_CLASS("GtkImage") + + _en_stock_items_hash_init(); + id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, value); + etk_object_properties_set(ETK_OBJECT(wid->wid), "stock_id", (Etk_Stock_Id)id, NULL); + } + + else if(!strcmp(name, "icon_size")) + { + PROPERTY_INT; + IF_PARENT_CLASS("GtkImage"); + Etk_Stock_Id id = ETK_STOCK_MEDIUM; + if (value <= 2) id = ETK_STOCK_SMALL; + else if (value >= 5) id = ETK_STOCK_BIG; + etk_object_properties_set(ETK_OBJECT(wid->wid), "stock_size", id, NULL); + } + + else if(!strcmp(name, "use_stock")) + { + PROPERTY_BOOL; + IF_PARENT_CLASS("GtkButton"); + char *label; + Etk_Stock_Id id = ETK_STOCK_NO_STOCK; + + if (value) + { + _en_stock_items_hash_init(); + label = (char *)etk_button_label_get(ETK_BUTTON(wid->wid)); + id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, label); + if (id != ETK_STOCK_NO_STOCK) + etk_button_set_from_stock(ETK_BUTTON(wid->wid), (Etk_Stock_Id)id); + } + } } static void @@ -614,6 +975,7 @@ if(!en) return; exml_destroy(en->xml); evas_hash_foreach(en->widgets, _e_widget_hash_free, en); + ecore_hash_destroy(_en_stock_items_hash); E_FREE(en->main_window); E_FREE(en); } @@ -636,4 +998,21 @@ "Unfreed memory:\t %ld bytes\n", mem_total, mem_calloc, mem_strdup, mem_size); #endif +} + +static void +_en_stock_items_hash_init(void) +{ + int size, i; + + /* the hash table is build only once */ + if (!_en_stock_items_hash) + { + _en_stock_items_hash = ecore_hash_new(ecore_str_hash, ecore_str_compare); + size = sizeof(en_stock_items)/sizeof(en_stock_items[0]); + for (i=0; i<size; i++) + { + ecore_hash_set(_en_stock_items_hash, en_stock_items[i].str, (Etk_Stock_Id *)en_stock_items[i].id); + } + } } =================================================================== RCS file: /cvs/e/e17/proto/enhance/src/lib/enhance_widget.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- enhance_widget.c 17 May 2006 11:54:28 -0000 1.3 +++ enhance_widget.c 17 May 2006 12:35:02 -0000 1.4 @@ -35,45 +35,12 @@ _e_widget_new(Enhance *en, EXML_Node *node, Etk_Widget *etk_widget, char *id) { E_Widget *widget; - Ecore_List *props; - EXML_Node *prop; - int width, height; widget = E_NEW(1, E_Widget); widget->wid = etk_widget; widget->node = node; widget->packing = NULL; en->widgets = evas_hash_add(en->widgets, id, widget); - - width = -1; - height = -1; - props = node->children; - ecore_list_goto_first(props); - prop = ecore_list_current(props); - while(prop != NULL) - { - if(!strcmp(prop->tag, "property")) - { - char *name; - - name = ecore_hash_get(prop->attributes, "name"); - if(!name) { prop = ecore_list_next(props); continue; } - - if (!strcmp(name, "width_request")) - { - if (prop->value) - width = atoi(prop->value); - } - else if (!strcmp(name, "height_request")) - { - if (prop->value) - height = atoi(prop->value); - } - } - prop = ecore_list_next(props); - } - if (width != -1 || height != -1) - etk_widget_size_request_set(etk_widget, width, height); return widget; } ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs