⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialogs.c

📁 一个开源著名的TDE编辑器源代码
💻 C
字号:
/*
 * New editor name:  TDE, the Thomson-Davis Editor.
 * Author:           Jason Hood
 * Date:             November 15, 2003
 *
 * This file contains the dialog definitions for various functions.
 *
 * Dialogs in TDE are very simple - they only contains labels, edit fields and
 * checkboxes. The first line of the definition gives the size of the box
 * (including the frame) and the edit field with the initial focus. A label is
 * indicated by an ERROR value in the .n field; a checkbox has FALSE or TRUE;
 * anything else is the width of an edit field. Every edit field and checkbox
 * must be stored consecutively. The last item must have an .x value of 0 to
 * end the list.
 *
 * A callback function can be used to change the state of the dialog and to
 * verify the contents of edit fields. The callback is entered with the id of
 * the edit field or check box, along with the current text of the edit field.
 * A negative id is used for an edit field that has become empty or not. The
 * callback is called with an id of zero upon completion of the dialog. The
 * return value is OK for success or the id of the edit field to re-edit
 * (ERROR to use the current).
 *
 * jmh 050817: Every edit field should have a label, with the labels stored
 *             immediately before the edits. The appropriate label is then
 *             highlighted when an edit field is selected.
 */


#include "tdestr.h"
#include "common.h"


/*
 * DefineSearch
 */
DIALOG find_dialog[] = {
   { 45, 10, NULL,        ERROR, NULL },
   {  3,  2, "Pattern:",  ERROR, NULL },
   { 12,  2, NULL,        30,    &h_find },
   {  5,  5, "RegX",      FALSE, NULL },
   {  5,  6, "Backward",  FALSE, NULL },
   {  5,  7, "Beginning", FALSE, NULL },
   { 24,  5, "Block",     FALSE, NULL },
   { 24,  6, "All files", FALSE, NULL },
   { 24,  7, "Results",   FALSE, NULL },
   {  0,  0, NULL,        ERROR, NULL }
};

/*
 * ReplaceString
 */
DIALOG replace_dialog[] = {
   { 49, 12, NULL,           ERROR, NULL },
   {  7,  2, "Pattern:",     ERROR, NULL },
   {  3,  4, "Replacement:", ERROR, NULL },
   { 16,  2, NULL,           30,    &h_find },
   { 16,  4, NULL,           30,    &h_find },
   {  7,  7, "RegX",         FALSE, NULL },
   {  7,  8, "Backward",     FALSE, NULL },
   {  7,  9, "Beginning",    FALSE, NULL },
   { 26,  7, "Block",        FALSE, NULL },
   { 26,  8, "All files",    FALSE, NULL },
   { 26,  9, "No prompt",    FALSE, NULL },
   {  0,  0, NULL,           ERROR, NULL }
};

/*
 * BorderBlockEx
 */
DIALOG border_dialog[] = {
   { 50, 11, NULL,           ERROR, NULL },
   {  5,  3, "Top-left",     ERROR, NULL },
   { 23,  1, "Top",          ERROR, NULL },
   { 36,  3, "Top-right",    ERROR, NULL },
   {  9,  5, "Left",         ERROR, NULL },
   { 36,  5, "Right",        ERROR, NULL },
   {  2,  7, "Bottom-left",  ERROR, NULL },
   { 22,  9, "Bottom",       ERROR, NULL },
   { 36,  7, "Bottom-right", ERROR, NULL },
   { 15,  3, NULL,           5,     &h_border },
   { 22,  3, NULL,           5,     &h_border },
   { 29,  3, NULL,           5,     &h_border },
   { 15,  5, NULL,           5,     &h_border },
   { 29,  5, NULL,           5,     &h_border },
   { 15,  7, NULL,           5,     &h_border },
   { 22,  7, NULL,           5,     &h_border },
   { 29,  7, NULL,           5,     &h_border },
   {  0,  0, NULL,           ERROR, &h_border }
};

/*
 * DefineDiff
 */
DIALOG diff_dialog[] = {
   { 55,  9, NULL,                   ERROR, NULL },
   {  4,  2, "First window:",        ERROR, NULL },
   {  3,  4, "Second window:",       ERROR, NULL },
   { 18,  2, NULL,                   4,     &h_win },
   { 18,  4, NULL,                   4,     &h_win },
   { 25,  2, "Ignore all space",     FALSE, NULL },
   { 25,  3, "Ignore leading space", FALSE, NULL },
   { 25,  4, "Ignore blank lines",   FALSE, NULL },
   { 25,  5, "Ignore end of line",   FALSE, NULL },
   { 25,  6, "Current position",     FALSE, NULL },
   {  0,  0, NULL,                   ERROR, NULL }
};

/*
 * DefineGrep
 */
DIALOG grep_dialog[] = {
   { 45, 11, NULL,       ERROR, NULL },
   {  3,  2, "Pattern:", ERROR, NULL },
   {  5,  4, "Files:",   ERROR, NULL },
   { 12,  2, NULL,       30,    &h_find },
   { 12,  4, NULL,       30,    NULL },
   {  7,  7, "RegX",     FALSE, NULL },
   {  7,  8, "Results",  FALSE, NULL },
   { 24,  7, "Load all", FALSE, NULL },
   { 24,  8, "Binary",   FALSE, NULL },
   {  0,  0, NULL,       ERROR, NULL }
};

/*
 * Execute
 */
DIALOG exec_dialog[] = {
   { 51, 10, NULL,             ERROR, NULL },
   {  3,  2, "Command:",       ERROR, NULL },
   { 12,  2, NULL,             36,    &h_exec },
   {  3,  5, "Capture output", FALSE, NULL },
   {  3,  6, "No echo",        FALSE, NULL },
   {  3,  7, "No pause",       FALSE, NULL },
   { 27,  5, "Original files", FALSE, NULL },
   { 27,  6, "Reload files",   FALSE, NULL },
   {  0,  0, NULL,             ERROR, NULL }
};

/*
 * FileAttributes
 */
DIALOG fattr_dialog[] = {
#if defined( __UNIX__ )
   { 61, 11, NULL,         ERROR, NULL },
   { 10,  2, "User",       ERROR, NULL },
   { 29,  2, "Group",      ERROR, NULL },
   { 48,  2, "Other",      ERROR, NULL },
   {  3,  3, "Readable",   FALSE, NULL },
   {  3,  4, "Writable",   FALSE, NULL },
   {  3,  5, "eXecutable", FALSE, NULL },
   { 22,  3, "Readable",   FALSE, NULL },
   { 22,  4, "Writable",   FALSE, NULL },
   { 22,  5, "eXecutable", FALSE, NULL },
   { 41,  3, "Readable",   FALSE, NULL },
   { 41,  4, "Writable",   FALSE, NULL },
   { 41,  5, "eXecutable", FALSE, NULL },
   { 20,  7, "or enter mode string:", ERROR, NULL },
   { 29,  8, NULL,         4,     NULL },
#else
   { 32, 11, NULL,         ERROR, NULL },
   {  8,  2, "Archive",    FALSE, NULL },
   {  8,  3, "System",     FALSE, NULL },
   {  8,  4, "Hidden",     FALSE, NULL },
   {  8,  5, "Read only",  FALSE, NULL },
   {  3,  7, "or enter attribute string:", ERROR, NULL },
   { 13,  8, NULL,         5,     NULL },
#endif
   {  0,  0, NULL,         ERROR, NULL }
};

/*
 * NumberBlock
 */
DIALOG number_dialog[] = {
   { 31, 13, NULL,               ERROR, NULL },
   {  3,  2, "Starting number:", ERROR, NULL },
   {  9,  4, "Increment:",       ERROR, NULL },
   { 14,  6, "Base:",            ERROR, NULL },
   { 20,  2, NULL,               8,     NULL },
   { 20,  4, NULL,               8,     NULL },
   { 20,  6, NULL,               3,     NULL },
   {  7,  9, "Left align",       FALSE, NULL },
   {  7, 10, "Zero fill",        FALSE, NULL },
   {  0,  0, NULL,               ERROR, NULL }
};

/*
 * SetMargins
 */
DIALOG margins_dialog[] = {
   { 21, 15, NULL,         ERROR, NULL },
   {  7,  2, "Margins",    ERROR, NULL },
   {  8,  5, "Left:",      ERROR, NULL },
   {  7,  7, "Right:",     ERROR, NULL },
   {  3,  9, "Paragraph:", ERROR, NULL },
   { 14,  5, NULL,         4,     NULL },
   { 14,  7, NULL,         4,     NULL },
   { 14,  9, NULL,         4,     NULL },
   {  4, 12, "Justify",    FALSE, NULL },
   {  0,  0, NULL,         ERROR, NULL }
};

/*
 * SetTabs
 */
DIALOG tabs_dialog[] = {
   { 19, 10, NULL,         ERROR, NULL },
   {  6,  2, "Tab Size",   ERROR, NULL },
   {  4,  5, "Logical:",   ERROR, NULL },
   {  3,  7, "Physical:",  ERROR, NULL },
   { 13,  5, NULL,         3,     NULL },
   { 13,  7, NULL,         3,     NULL },
   {  0,  0, NULL,         ERROR, NULL }
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -