/* * Copyright (c) 2005 Massachusetts Institute of Technology * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /* $Id$ */ #ifndef __KHIMAIRA_KHALERTS_H_INTERNAL #define __KHIMAIRA_KHALERTS_H_INTERNAL #include<khalerts.h> #include<khaction.h> /*! \addtogroup khui_alert @{ */ /*! \internal \brief An alert Describes an alert message that will be shown to the user in a variety of ways depending on the state of the NetIDMgr application. */ typedef struct tag_khui_alert { khm_int32 magic; /*!< Magic number. Always set to KHUI_ALERT_MAGIC */ khm_int32 severity; /*!< The severity of the alert. One of KHERR_ERROR, KHERR_WARNING or KHERR_INFO. The default is KHERR_INFO. Do not set directly. Use khui_alert_set_severity(). */ khm_int32 alert_commands[KHUI_MAX_ALERT_COMMANDS]; /*!< The command buttons associated with the alert. Use khui_alert_add_command() to add a command. The buttons will appear in the order in which they were added. The first button will be the default. Each command should be a known action identifier. */ khm_int32 n_alert_commands; /*!< The number of commands in alert_commands[]. */ wchar_t * title; /*!< The title of the alert. Subject to ::KHUI_MAXCCH_TITLE. Use khui_alert_set_title() to set. Do not modify directly. */ wchar_t * message; /*!< The main message of the alert. Subject to ::KHUI_MAXCCH_MESSAGE. Use khui_alert_set_message() to set. Do not modify direcly. */ wchar_t * suggestion; /*!< A suggestion. Appears below the message text. Use khui_alert_set_suggestion() to set. Do not modify directly. */ khm_int32 flags; /*!< combination of ::khui_alert_flags. Do not modify directly. */ kherr_context * err_context; /*!< If non-NULL at the time the alert window is shown, this indicates that the alert window should provide an error viewer for the given error context. */ kherr_event * err_event; /*!< If non-NULL at the time the alert window is shown, this indicates that the alert window should provide an error viewer for the given error event. If an \a err_context is also given, the error viewer for the context will be below this error. */ khui_alert_type alert_type; /*!< The type of alert. */ khui_action_context ctx; /*!< Context to which this alert applies to. */ khm_int32 response; /*!< Once the alert is displayed to the user, when the user clicks one of the command buttons, the command ID will be assigned here. */ int refcount; /*!< internal */ khm_boolean displayed; /*!< TRUE when then the alert is being displayed on screen. Also used internally to determine when to terminate the modal loop */ LDCL(struct tag_khui_alert); /*!< internal */ } khui_alert; #define KHUI_ALERT_MAGIC 0x48c39ce9 /*@}*/ #endif