本文整理汇总了C++中destroy_dlg函数的典型用法代码示例。如果您正苦于以下问题:C++ destroy_dlg函数的具体用法?C++ destroy_dlg怎么用?C++ destroy_dlg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了destroy_dlg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: configure_box
void configure_box (void)
{
int result, i;
init_configure ();
run_dlg (conf_dlg);
result = conf_dlg->ret_value;
if (result == B_ENTER || result == B_EXIT){
for (i = 0; check_options [i].text; i++)
if (check_options [i].widget->state & C_CHANGE){
if (check_options [i].toggle_function)
(*check_options [i].toggle_function)();
else
*check_options [i].variable =
!(*check_options [i].variable);
}
pause_after_run = pause_radio->sel;
}
/* If they pressed the save button */
if (result == B_EXIT){
save_configure ();
sync_profiles ();
}
destroy_dlg (conf_dlg);
}
示例2: history_cmd
void
history_cmd (void)
{
Listbox *listbox;
GList *current;
if (cmdline->need_push) {
if (push_history (cmdline, cmdline->buffer) == 2)
cmdline->need_push = 0;
}
if (!cmdline->history) {
message (1, MSG_ERROR, _(" The command history is empty "));
return;
}
current = g_list_first (cmdline->history);
listbox = create_listbox_window (60, 10, _(" Command history "),
"[Command Menu]");
while (current) {
LISTBOX_APPEND_TEXT (listbox, 0, (char *) current->data, current);
current = g_list_next(current);
}
run_dlg (listbox->dlg);
if (listbox->dlg->ret_value == B_CANCEL)
current = NULL;
else
current = listbox->list->current->data;
destroy_dlg (listbox->dlg);
g_free (listbox);
if (!current)
return;
cmdline->history = current;
assign_text (cmdline, (char *) current->data);
update_input (cmdline, 1);
}
示例3: dlg_clean_run
/**
* clean old unconfirmed dialogs
*
*/
int dlg_clean_run(ticks_t ti)
{
unsigned int i;
unsigned int tm;
dlg_cell_t *dlg;
dlg_cell_t *tdlg;
tm = (unsigned int)time(NULL);
for(i=0; i<d_table->size; i++)
{
lock_set_get(d_table->locks, d_table->entries[i].lock_idx);
dlg = d_table->entries[i].first;
while (dlg) {
tdlg = dlg;
dlg = dlg->next;
if(tdlg->state==DLG_STATE_UNCONFIRMED && tdlg->init_ts<tm-300) {
/* dialog in early state older than 5min */
LM_NOTICE("dialog in early state is too old (%p ref %d)\n",
tdlg, tdlg->ref);
unlink_unsafe_dlg(&d_table->entries[i], tdlg);
destroy_dlg(tdlg);
}
}
lock_set_release(d_table->locks, d_table->entries[i].lock_idx);
}
return 0;
}
示例4: display_bits_box
void
display_bits_box (void)
{
Dlg_head *dbits_dlg;
new_display_codepage = display_codepage;
application_keypad_mode ();
dbits_dlg = init_disp_bits_box ();
run_dlg (dbits_dlg);
if (dbits_dlg->ret_value == B_ENTER) {
const char *errmsg;
display_codepage = new_display_codepage;
errmsg =
init_translation_table (source_codepage, display_codepage);
if (errmsg)
message (1, MSG_ERROR, "%s", errmsg);
#ifndef HAVE_SLANG
meta (stdscr, display_codepage != 0);
#else
SLsmg_Display_Eight_Bit = (display_codepage != 0
&& display_codepage != 1) ? 128 : 160;
#endif
use_8th_bit_as_meta = !(inpcheck->state & C_BOOL);
}
destroy_dlg (dbits_dlg);
repaint_screen ();
}
示例5: editcmd_dialog_raw_key_query
int
editcmd_dialog_raw_key_query (const char *heading, const char *query, gboolean cancel)
{
int w, wq;
int y = 2;
WDialog *raw_dlg;
w = str_term_width1 (heading) + 6;
wq = str_term_width1 (query);
w = max (w, wq + 3 * 2 + 1 + 2);
raw_dlg =
create_dlg (TRUE, 0, 0, cancel ? 7 : 5, w, dialog_colors, editcmd_dialog_raw_key_query_cb,
NULL, NULL, heading, DLG_CENTER | DLG_TRYUP | DLG_WANT_TAB);
add_widget (raw_dlg, label_new (y, 3, query));
add_widget (raw_dlg, input_new (y++, 3 + wq + 1, input_get_default_colors (),
w - (6 + wq + 1), "", 0, INPUT_COMPLETE_NONE));
if (cancel)
{
add_widget (raw_dlg, hline_new (y++, -1, -1));
/* Button w/o hotkey to allow use any key as raw or macro one */
add_widget_autopos (raw_dlg, button_new (y, 1, B_CANCEL, NORMAL_BUTTON, _("Cancel"), NULL),
WPOS_KEEP_TOP | WPOS_CENTER_HORZ, NULL);
}
w = run_dlg (raw_dlg);
destroy_dlg (raw_dlg);
return (cancel && (w == ESC_CHAR || w == B_CANCEL)) ? 0 : w;
}
示例6: layout_cmd
void layout_cmd (void)
{
int result;
int i;
init_layout ();
run_dlg (layout_dlg);
result = layout_dlg->ret_value;
if (result == B_ENTER || result == B_EXIT){
for (i = 0; check_options [i].text; i++)
if (check_options [i].widget)
*check_options [i].variable = check_options [i].widget->state & C_BOOL;
#ifndef HAVE_X
horizontal_split = radio_widget->sel;
first_panel_size = _first_panel_size;
output_lines = _output_lines;
layout_do_change = 1;
#endif
}
if (result == B_EXIT){
save_layout ();
sync_profiles ();
}
destroy_dlg (layout_dlg);
if (layout_do_change)
layout_change ();
}
示例7: tree
char *
tree (char *current_dir)
{
WTree *mytree;
Dlg_head *dlg;
char *val;
WButtonBar *bar;
tree_colors [3] = dialog_colors [0];
tree_colors [1] = dialog_colors [1];
/* Create the components */
dlg = create_dlg (0, 0, TREE_Y, TREE_X, tree_colors,
tree_callback, "[Directory Tree]", "tree", DLG_CENTER);
mytree = tree_new (0, 2, 2, TREE_Y - 6, TREE_X - 5);
add_widget (dlg, mytree);
bar = buttonbar_new(1);
add_widget (dlg, bar);
bar->widget.x = 0;
bar->widget.y = LINES - 1;
run_dlg (dlg);
if (dlg->ret_value == B_ENTER)
val = strdup (mytree->selected_ptr->name);
else
val = 0;
destroy_dlg (dlg);
return val;
}
示例8: dlg_clean_run
/**
* clean old unconfirmed dialogs
*
*/
int dlg_clean_run(ticks_t ti)
{
unsigned int i;
unsigned int tm;
dlg_cell_t *dlg;
dlg_cell_t *tdlg;
tm = (unsigned int)time(NULL);
for(i=0; i<d_table->size; i++)
{
lock_set_get(d_table->locks, d_table->entries[i].lock_idx);
dlg = d_table->entries[i].first;
while (dlg) {
tdlg = dlg;
dlg = dlg->next;
if(tdlg->state==DLG_STATE_UNCONFIRMED && tdlg->init_ts<tm-300) {
/* dialog in early state older than 5min */
LM_NOTICE("dialog in early state is too old (%p ref %d)\n",
tdlg, tdlg->ref);
unlink_unsafe_dlg(&d_table->entries[i], tdlg);
destroy_dlg(tdlg);
}
if(tdlg->state==DLG_STATE_CONFIRMED_NA && tdlg->start_ts<tm-60) {
if(update_dlg_timer(&tdlg->tl, 10)<0) {
LM_ERR("failed to update dialog lifetime in long non-ack state\n");
}
tdlg->lifetime = 10;
tdlg->dflags |= DLG_FLAG_CHANGED;
}
}
lock_set_release(d_table->locks, d_table->entries[i].lock_idx);
}
return 0;
}
示例9: destroy_dlg_table
/*!
* \brief Destroy the global dialog table
*/
void destroy_dlg_table(void)
{
struct dlg_cell *dlg, *l_dlg;
unsigned int i;
if (d_table==0)
return;
if (d_table->locks) {
lock_set_destroy(d_table->locks);
lock_set_dealloc(d_table->locks);
}
for( i=0 ; i<d_table->size; i++ ) {
dlg = d_table->entries[i].first;
while (dlg) {
l_dlg = dlg;
dlg = dlg->next;
destroy_dlg(l_dlg);
}
}
shm_free(d_table);
d_table = 0;
return;
}
示例10: listmode_done
static void listmode_done (void)
{
destroy_dlg (listmode_dlg);
if (0)
update_panels (UP_OPTIMIZE, UP_KEEPSEL);
repaint_screen ();
}
示例11: tree_box
/* Show tree in a box, not on a panel */
char *
tree_box (const char *current_dir)
{
WTree *mytree;
Dlg_head *dlg;
char *val;
WButtonBar *bar;
/* Create the components */
dlg = create_dlg (0, 0, TREE_Y, TREE_X, dialog_colors,
tree_callback, "[Directory Tree]", NULL, DLG_CENTER | DLG_REVERSE);
mytree = tree_new (0, 2, 2, TREE_Y - 6, TREE_X - 5);
add_widget (dlg, mytree);
bar = buttonbar_new(1);
add_widget (dlg, bar);
bar->widget.x = 0;
bar->widget.y = LINES - 1;
run_dlg (dlg);
if (dlg->ret_value == B_ENTER)
val = g_strdup (tree_selected_name (mytree));
else
val = 0;
destroy_dlg (dlg);
return val;
}
示例12: edit_files
gboolean
edit_files (const GList * files)
{
static gboolean made_directory = FALSE;
Dlg_head *edit_dlg;
WMenuBar *menubar;
const GList *file;
gboolean ok = FALSE;
if (!made_directory)
{
char *dir;
dir = mc_build_filename (mc_config_get_cache_path (), EDIT_DIR, NULL);
made_directory = (mkdir (dir, 0700) != -1 || errno == EEXIST);
g_free (dir);
dir = mc_build_filename (mc_config_get_path (), EDIT_DIR, NULL);
made_directory = (mkdir (dir, 0700) != -1 || errno == EEXIST);
g_free (dir);
dir = mc_build_filename (mc_config_get_data_path (), EDIT_DIR, NULL);
made_directory = (mkdir (dir, 0700) != -1 || errno == EEXIST);
g_free (dir);
}
/* Create a new dialog and add it widgets to it */
edit_dlg =
create_dlg (FALSE, 0, 0, LINES, COLS, NULL, edit_dialog_callback, edit_dialog_event,
"[Internal File Editor]", NULL, DLG_WANT_TAB);
edit_dlg->get_shortcut = edit_get_shortcut;
edit_dlg->get_title = edit_get_title;
menubar = menubar_new (0, 0, COLS, NULL);
add_widget (edit_dlg, menubar);
edit_init_menu (menubar);
add_widget (edit_dlg, buttonbar_new (TRUE));
for (file = files; file != NULL; file = g_list_next (file))
{
mcedit_arg_t *f = (mcedit_arg_t *) file->data;
gboolean f_ok;
f_ok = edit_add_window (edit_dlg, edit_dlg->y + 1, edit_dlg->x,
edit_dlg->lines - 2, edit_dlg->cols, f->file_vpath, f->line_number);
/* at least one file has been opened succefully */
ok = ok || f_ok;
}
if (ok)
run_dlg (edit_dlg);
if (!ok || edit_dlg->state == DLG_CLOSED)
destroy_dlg (edit_dlg);
return ok;
}
示例13: destroy_op_win
void
destroy_op_win (void)
{
dlg_run_done (op_dlg);
destroy_dlg (op_dlg);
#ifndef HAVE_X
the_hint->widget.y = last_hint_line;
#endif
}
示例14: fg_message
static void
fg_message (int flags, const char *title, const char *text)
{
Dlg_head *d;
d = do_create_message (flags, title, text);
tty_getch ();
dlg_run_done (d);
destroy_dlg (d);
}
示例15: edit_file
int
edit_file (const char *_file, int line)
{
static gboolean made_directory = FALSE;
Dlg_head *edit_dlg;
WEdit *wedit;
WMenuBar *menubar;
if (!made_directory)
{
char *dir = concat_dir_and_file (mc_config_get_cache_path (), EDIT_DIR);
made_directory = (mkdir (dir, 0700) != -1 || errno == EEXIST);
g_free (dir);
dir = concat_dir_and_file (mc_config_get_path (), EDIT_DIR);
made_directory = (mkdir (dir, 0700) != -1 || errno == EEXIST);
g_free (dir);
dir = concat_dir_and_file (mc_config_get_data_path (), EDIT_DIR);
made_directory = (mkdir (dir, 0700) != -1 || errno == EEXIST);
g_free (dir);
}
wedit = edit_init (NULL, 1, 0, LINES - 2, COLS, _file, line);
if (wedit == NULL)
return 0;
/* Create a new dialog and add it widgets to it */
edit_dlg =
create_dlg (FALSE, 0, 0, LINES, COLS, NULL, edit_dialog_callback,
"[Internal File Editor]", NULL, DLG_WANT_TAB);
edit_dlg->get_shortcut = edit_get_shortcut;
edit_dlg->get_title = edit_get_title;
menubar = menubar_new (0, 0, COLS, NULL);
add_widget (edit_dlg, menubar);
edit_init_menu (menubar);
init_widget (&wedit->widget, wedit->widget.y, wedit->widget.x,
wedit->widget.lines, wedit->widget.cols, edit_callback, edit_event);
widget_want_cursor (wedit->widget, TRUE);
add_widget (edit_dlg, wedit);
add_widget (edit_dlg, buttonbar_new (TRUE));
run_dlg (edit_dlg);
if (edit_dlg->state == DLG_CLOSED)
destroy_dlg (edit_dlg);
return 1;
}