home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
p2demo21.exe
/
PEL
/
WINDOSET.PEL
< prev
next >
Wrap
Text File
|
1995-03-14
|
36KB
|
961 lines
# $Header: P:\source\wmacros\windoset.pev 1.48 14 Mar 1995 08:28:46 NOBLE $
# $Tabs:4 7$
##############################################################################
#
# Compuware Corporation
# 31440 Northwestern Highway
# Farmington Hills, Michigan 48334-2564
#
# This source code listing contains information that is
# proprietary to Compuware Corporation and may not be copied
# duplicated, translated, transmitted, stored, retrieved
# or in any manner or by any method conveyed or disclosed
# to a third party or parties without express written
# permission from Compuware Corporation.
#
#
##############################################################################
#### $Workfile: windoset.pel $: Notebook settings
local dhWindowSettings0 = 0;
local dhWindowSettings1 = 0;
local dhWindowSettings2 = 0;
local dhWindowSettings3 = 0;
local phWindowSettings0 = 0;
local phWindowSettings1 = 0;
local phWindowSettings2 = 0;
local phWindowSettings3 = 0;
local IDC_OPEN_FILES_IN_WINDOW = 1009
local IDR_SDI_MODE = 1010
local IDR_MDI_MODE = 1011
local IDR_DETACHED_MODE = 1012
global function window_settings_notebook(dlgid)
{
local dhHelpSettings, phHelpSettings;
nb_initializing = TRUE;
if (dlgid)
{
if ( status_bar_flags )
message( "Creating Window Settings Pages..." );
phHelpSettings = append_notebook_page( dlgid, dhHelpSettings,
" ", "Window" );
nbPagePrefix[phHelpSettings].name = "windowhelp";
phWindowSettings0 = append_notebook_page( dlgid, dhWindowSettings0,
" Window Mode",
"Mode", NBTAB_MINOR )
nbPagePrefix[phWindowSettings0].name = "window0";
phWindowSettings1 = append_notebook_page( dlgid, dhWindowSettings1,
" Window Specific Settings",
"Misc", NBTAB_MINOR )
nbPagePrefix[phWindowSettings1].name = "window1";
phWindowSettings2 = append_notebook_page( dlgid, dhWindowSettings2,
" Strings for Special Characters",
"Visible strings", NBTAB_MINOR )
nbPagePrefix[phWindowSettings2].name = "window2";
phWindowSettings3 = append_notebook_page( dlgid, dhWindowSettings3,
" Scrolling Optimization" ,
"Scrolling", NBTAB_MINOR )
nbPagePrefix[phWindowSettings3].name = "window3";
}
else
{
warning("Illegal call to window_settings_notebook()");
}
nb_initializing = FALSE;
}
global function reset_window_settings_notebook()
{
dhWindowSettings0 = 0
dhWindowSettings1 = 0
dhWindowSettings2 = 0
dhWindowSettings3 = 0
phWindowSettings0 = 0
phWindowSettings1 = 0
phWindowSettings2 = 0
phWindowSettings3 = 0
}
# function commented out since it's not used and generates a warning.
# it is going to be kept around incase there is a use for it
#local function destroy_settings_notebook()
#{
# delete_notebook_page(nhWindowNotebook, phHelpSettings)
# delete_notebook_page(nhWindowNotebook, phWindowSettings1)
# delete_notebook_page(nhWindowNotebook, phWindowSettings2)
# delete_notebook_page(nhWindowNotebook, phWindowSettings3)
#
# delete_notebook(nhWindowNotebook)
#
# nhWindowNotebook = 0
#}
########################## WINDOW NOTEBOOK #################################
#global function window_settings_notebook_callback()
#{
# if ( callback_msg == DM_CANCEL )
# return DRC_MSG_PROCESSED
#
# else if( ( callback_msg == DM_CLICK && callback_index == DI_HELP ) ||
# ( callback_msg == DM_HELPREQUESTED ) )
# {
# if(isWindows())
# display_help("Window Settings", callback_dialog_handle);
# else
# display_help("windowpages", callback_dialog_handle);
# return DRC_MSG_PROCESSED
# }
#
# return DRC_CONTINUE
#}
global function create_windowhelp_page(pageid, dlgid)
{
local dhHelpSettings;
dhHelpSettings = create_page(function_id( "nop_settings_callback"),
dlgid, IDD_WINDOW_HELP_PAGE, resource_dll )
attach_help(editor_helpfile, dhHelpSettings);
if(isWindows())
nbPagePrefix[pageid].help = "Misc. window settings";
else
nbPagePrefix[pageid].help = "windowpages";
set_notebook_page_dialog(dlgid, pageid, dhHelpSettings);
nbPagePrefix[pageid].dialog_handle = dhHelpSettings;
}
global function create_window0_page(pageid, dlgid)
{
dhWindowSettings0 = create_page(function_id( "window0_settings_callback" ),
dlgid, IDD_WINDOW_MODE, resource_dll);
attach_help(editor_helpfile, dhWindowSettings0);
if(isWindows())
nbPagePrefix[pageid].help = "Window mode settings";
else
nbPagePrefix[pageid].help = "windowpage0";
add_dialog_item( dhWindowSettings0, IDB_UNDO, DCTRL_PUSH_BUTTON )
initialize_window0_settings( dhWindowSettings0 );
set_notebook_page_dialog(dlgid, pageid, dhWindowSettings0);
nbPagePrefix[pageid].dialog_handle = dhWindowSettings0;
}
global function create_window1_page(pageid, dlgid)
{
dhWindowSettings1 = create_page(function_id( "window1_settings_callback" ),
dlgid, IDD_WINDOW_SETTINGS1, resource_dll);
attach_help(editor_helpfile, dhWindowSettings1);
if(isWindows())
nbPagePrefix[pageid].help = "Misc. window settings";
else
nbPagePrefix[pageid].help = "windowpage1";
add_dialog_item( dhWindowSettings1, IDB_UNDO, DCTRL_PUSH_BUTTON )
initialize_window1_settings( dhWindowSettings1 );
set_notebook_page_dialog(dlgid, pageid, dhWindowSettings1);
nbPagePrefix[pageid].dialog_handle = dhWindowSettings1;
}
global function create_window2_page(pageid, dlgid)
{
dhWindowSettings2 = create_page(function_id( "window2_settings_callback" ),
dlgid, IDD_WINDOW_SETTINGS2, resource_dll);
attach_help(editor_helpfile, dhWindowSettings2)
if(isWindows())
nbPagePrefix[pageid].help = "Visible strings";
else
nbPagePrefix[pageid].help = "windowpage2";
add_dialog_item( dhWindowSettings2, IDB_UNDO, DCTRL_PUSH_BUTTON )
set_dialog_item( dhWindowSettings2, IDE_WIN_VIS_EOB, DAC_SET_TEXT_LEN, 256 );
initialize_window2_settings( dhWindowSettings2 );
set_notebook_page_dialog(dlgid, pageid, dhWindowSettings2);
nbPagePrefix[pageid].dialog_handle = dhWindowSettings2;
}
global function create_window3_page(pageid, dlgid)
{
dhWindowSettings3 = create_page(function_id( "window3_settings_callback" ),
dlgid, IDD_WINDOW_SETTINGS3, resource_dll);
attach_help(editor_helpfile, dhWindowSettings3)
if(isWindows())
nbPagePrefix[pageid].help = "Scroll variable Settings";
else
nbPagePrefix[pageid].help = "windowpage3";
add_dialog_item( dhWindowSettings3, IDB_UNDO, DCTRL_PUSH_BUTTON )
initialize_window3_settings( dhWindowSettings3 )
set_notebook_page_dialog(dlgid, pageid, dhWindowSettings3);
nbPagePrefix[pageid].dialog_handle = dhWindowSettings3;
}
########################## WINDOW PAGE 1 #################################
local function initialize_window0_settings( handle )
{
if(create_new_bufwin)
set_dialog_item( handle, IDC_OPEN_FILES_IN_WINDOW, DAC_CHECK)
else
set_dialog_item( handle, IDC_OPEN_FILES_IN_WINDOW, DAC_UNCHECK);
if ( mdi_mode == 0 )
{
set_dialog_item( handle, IDR_SDI_MODE, DAC_CHECK)
set_dialog_item( handle, IDR_MDI_MODE, DAC_UNCHECK)
set_dialog_item( handle, IDR_DETACHED_MODE, DAC_UNCHECK)
set_dialog_item( handle, IDC_OPEN_FILES_IN_WINDOW, DAC_DISABLE);
}
else if ( mdi_mode == 1 )
{
set_dialog_item( handle, IDR_SDI_MODE, DAC_UNCHECK)
set_dialog_item( handle, IDR_MDI_MODE, DAC_CHECK)
set_dialog_item( handle, IDR_DETACHED_MODE, DAC_UNCHECK)
}
else if ( mdi_mode == 2 )
{
set_dialog_item( handle, IDR_SDI_MODE, DAC_UNCHECK)
set_dialog_item( handle, IDR_MDI_MODE, DAC_UNCHECK)
set_dialog_item( handle, IDR_DETACHED_MODE, DAC_CHECK)
}
}
local function initialize_window1_settings( handle )
{
nb_initializing = TRUE;
add_dialog_item( handle, IDE_WIN_LINE_FORMAT, DCTRL_EDIT );
if ( linenumber_format )
{
set_dialog_item(handle, IDC_LINENUMBERS_ON, DAC_CHECK)
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_ENABLE )
set_dialog_item(handle, IDT_WIN_LINE_FORMAT, DAC_ENABLE )
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_EDIT_TEXT, linenumber_format)
}
else
{
set_dialog_item(handle, IDC_LINENUMBERS_ON, DAC_UNCHECK)
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_DISABLE )
set_dialog_item(handle, IDT_WIN_LINE_FORMAT, DAC_DISABLE )
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_EDIT_TEXT, nominal_linenumber_format)
}
if ( and( window_flags, WINDOW_VERT_SB ) )
set_dialog_item( handle, IDC_WIN_VSCROLL, DAC_CHECK)
else
set_dialog_item( handle, IDC_WIN_VSCROLL, DAC_UNCHECK)
if ( and( window_flags, WINDOW_HORIZ_SB ) )
set_dialog_item( handle, IDC_WIN_HSCROLL, DAC_CHECK)
else
set_dialog_item( handle, IDC_WIN_HSCROLL, DAC_UNCHECK)
if ( and( window_flags, WINDOW_DISPLAY_FULL_FILENAME ) )
set_dialog_item( handle, IDC_PATHINFO, DAC_CHECK)
else
set_dialog_item( handle, IDC_PATHINFO, DAC_UNCHECK);
deselect_checks(handle);
nb_initializing = FALSE;
}
global function window1_settings_config()
{
local data[]
local i = 1
data[ i++ ] = "# Settings specific to the first window settings notebook page\n"
data[ i++ ] = sprintf( "default_window_flags=%d\n", default_window_flags )
data[ i++ ] = sprintf( "default_linenumber_format=\"%s\"\n",
quote_string(default_linenumber_format))
data[ i++ ] = sprintf( "\n" )
return data
}
# Assumption: Upon entrance to this function, we are in the window that
# whose certain values we want to apply to all other windows.
# The calling function, apply_to_all, makes sure that this
# assumption is valid
global function window1_apply_to_all()
{
local set_bits
# local unset_bits
local first_win = current_window
local cur_win = 0
local all_linenumber_format = ""
local mask = 0
all_linenumber_format = linenumber_format
mask = WINDOW_VERT_SB + WINDOW_HORIZ_SB + WINDOW_DISPLAY_FULL_FILENAME
# get the bits that are set in the current buffer
set_bits = and( window_flags, mask )
# get the bits that are not set in the current buffer
# unset_bits = and( flags, not(set_bits) )
# Apply to all windows.
# This gets a little complex. We need to set the bits that
# are set, and unset all of the bits that are not set
# Why is this complex? We have a function called set_flag_bits
# that does his very nicely;
while( (cur_win = next_window("", 0, 1)) != first_win )
{
window_flags = set_flag_bits(window_flags, mask, set_bits);
# window_flags = or( window_flags, set_bits )
# window_flags = and( window_flags, not(unset_bits) )
linenumber_format = all_linenumber_format
}
current_window = first_win
}
global function window0_settings_callback()
{
local ret_val
enable_undo( callback_dialog_handle, callback_index )
if ( callback_msg == DM_INIT )
{
}
else if(callback_msg == DM_CANCEL)
return DRC_MSG_PROCESSED
else if(callback_msg == DM_HELPREQUESTED)
{
display_help(nbPagePrefix[current_nb_page].help, callback_dialog_handle);
return DRC_MSG_PROCESSED
}
else if ( (callback_msg == DM_CLICK) || (callback_msg == DM_DOUBLE_CLICK) )
{
if ( callback_index == IDB_UNDO )
{
nbPagePrefix[current_nb_page].modified = TRUE;
initialize_window0_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
else if ( callback_index == IDB_DEFAULT )
{
nbPagePrefix[current_nb_page].modified = TRUE;
default_window0_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
else if(callback_index == IDR_SDI_MODE)
{
nbPagePrefix[current_nb_page].modified = TRUE;
set_dialog_item( callback_dialog_handle, IDC_OPEN_FILES_IN_WINDOW, DAC_DISABLE);
}
else if((callback_index == IDR_MDI_MODE) || (callback_index == IDR_DETACHED_MODE))
{
nbPagePrefix[current_nb_page].modified = TRUE;
set_dialog_item( callback_dialog_handle, IDC_OPEN_FILES_IN_WINDOW, DAC_ENABLE);
}
else if(callback_index == IDC_OPEN_FILES_IN_WINDOW)
{
nbPagePrefix[current_nb_page].modified = TRUE;
}
return DRC_MSG_PROCESSED
}
return DRC_CONTINUE
}
global function window1_settings_callback()
{
local ret_val
enable_undo( callback_dialog_handle, callback_index )
if ( callback_msg == DM_INIT )
{
# set_dialog_item( callback_dialog_handle, IDC_APPLY_TO_ALL, DAC_UNCHECK)
apply_page_to_all( "window1", FALSE )
}
else if(callback_msg == DM_CANCEL)
return DRC_MSG_PROCESSED
else if(callback_msg == DM_HELPREQUESTED)
{
display_help(nbPagePrefix[current_nb_page].help, callback_dialog_handle);
return DRC_MSG_PROCESSED
}
else if ( (callback_msg == DM_CLICK) || (callback_msg == DM_DOUBLE_CLICK) )
{
if ( callback_index == IDB_UNDO )
{
nbPagePrefix[current_nb_page].modified = TRUE;
initialize_window1_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
else if ( callback_index == IDB_DEFAULT )
{
nbPagePrefix[current_nb_page].modified = TRUE;
default_window1_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
else if ( callback_index == IDE_WIN_LINE_FORMAT )
{
nbPagePrefix[current_nb_page].modified = TRUE;
return DRC_MSG_PROCESSED;
}
else if ( callback_index == IDC_LINENUMBERS_ON )
{
nbPagePrefix[current_nb_page].modified = TRUE;
ret_val = query_dialog_item( callback_dialog_handle, callback_index, DAC_CHECK)
if (ret_val)
{
set_dialog_item( callback_dialog_handle, IDE_WIN_LINE_FORMAT, DAC_ENABLE )
set_dialog_item( callback_dialog_handle, IDT_WIN_LINE_FORMAT, DAC_ENABLE )
}
else
{
set_dialog_item( callback_dialog_handle, IDE_WIN_LINE_FORMAT, DAC_DISABLE )
set_dialog_item( callback_dialog_handle, IDT_WIN_LINE_FORMAT, DAC_DISABLE )
}
# set_dialog_item( callback_dialog_handle, IDE_WIN_LINE_FORMAT, DAC_TEXT, linenumber_format)
}
return DRC_MSG_PROCESSED
}
return DRC_CONTINUE
}
########################## WINDOW PAGE 2 #################################
local function initialize_window2_settings( handle )
{
add_dialog_item( handle, IDE_WIN_VIS_TABS, DCTRL_EDIT )
nb_initializing = TRUE;
set_dialog_item( handle, IDE_WIN_VIS_TABS, DAC_EDIT_TEXT,
visible_tabs "")
set_dialog_item( handle, IDE_WIN_VIS_SPACES, DAC_EDIT_TEXT,
visible_spaces "")
set_dialog_item( handle, IDE_WIN_VIS_NEWLINES, DAC_EDIT_TEXT,
visible_newlines "")
set_dialog_item( handle, IDE_WIN_VIS_VIR_SPACES, DAC_EDIT_TEXT,
visible_virtual_spaces "")
set_dialog_item( handle, IDE_WIN_VIS_VIR_LINES, DAC_EDIT_TEXT,
visible_virtual_lines "")
set_dialog_item( handle, IDE_WIN_VIS_EOB, DAC_EDIT_TEXT,
visible_end_buffer "")
deselect_checks(handle);
nb_initializing = FALSE;
}
global function window2_apply_to_all()
{
local first_win = current_window
local cur_win = 0
local all_win_vis_tabs = ""
local all_win_vis_spaces = ""
local all_win_vis_newlines = ""
local all_win_vis_vir_spaces = ""
local all_win_vis_vir_lines = ""
local all_win_vis_eob = ""
all_win_vis_tabs = visible_tabs
all_win_vis_spaces = visible_spaces
all_win_vis_newlines = visible_newlines
all_win_vis_vir_spaces = visible_virtual_spaces
all_win_vis_vir_lines = visible_virtual_lines
all_win_vis_eob = visible_end_buffer
while( (cur_win = next_window("", 0, 1)) != first_win )
{
visible_tabs = all_win_vis_tabs
visible_spaces = all_win_vis_spaces
visible_newlines = all_win_vis_newlines
visible_virtual_spaces = all_win_vis_vir_spaces
visible_virtual_lines = all_win_vis_vir_lines
visible_end_buffer = all_win_vis_eob
update_current_view()
}
current_window = first_win
}
global function window2_settings_config()
{
local data[]
local i = 1
data[ i++ ] = sprintf( "# Settings specific to the second window settings notebook page\n" )
data[ i++ ] = sprintf( "default_visible_tabs=\"%s\"\n",
quote_string(default_visible_tabs))
data[ i++ ] = sprintf( "default_visible_spaces=\"%s\"\n",
quote_string(default_visible_spaces))
data[ i++ ] = sprintf( "default_visible_virtual_spaces=\"%s\"\n",
quote_string(default_visible_virtual_spaces))
data[ i++ ] = sprintf( "default_visible_newlines=\"%s\"\n",
quote_string(default_visible_newlines))
data[ i++ ] = sprintf( "default_visible_virtual_lines=\"%s\"\n",
quote_string(default_visible_virtual_lines))
data[ i++ ] = sprintf( "default_visible_end_buffer=\"%s\"\n",
quote_string(default_visible_end_buffer))
data[ i++ ] = sprintf( "\n" )
return data
}
global function window2_settings_callback()
{
local ret_val
local str
enable_undo( callback_dialog_handle, callback_index )
if(callback_msg == DM_HELPREQUESTED)
{
display_help(nbPagePrefix[current_nb_page].help, callback_dialog_handle);
return DRC_MSG_PROCESSED
}
if ( callback_msg == DM_INIT )
{
# set_dialog_item( callback_dialog_handle, IDC_APPLY_TO_ALL, DAC_UNCHECK)
apply_page_to_all( "window2", FALSE )
}
else if(callback_msg == DM_CANCEL)
return DRC_MSG_PROCESSED
# highlight the text in these fields
else if ( callback_msg == DM_SET_FOCUS )
{
if ( (callback_index == IDE_WIN_VIS_TABS) ||
(callback_index == IDE_WIN_VIS_SPACES) ||
(callback_index == IDE_WIN_VIS_VIR_SPACES) ||
(callback_index == IDE_WIN_VIS_NEWLINES) ||
(callback_index == IDE_WIN_VIS_VIR_LINES) ||
(callback_index == IDE_WIN_VIS_EOB) )
{
nbPagePrefix[current_nb_page].modified = TRUE;
str = query_dialog_item( callback_dialog_handle,
callback_index,
DAC_EDIT_TEXT )
if ( str )
set_dialog_item( callback_dialog_handle,
callback_index,
DAC_EDIT_TEXT,
str,
TRUE )
}
}
else if ( (callback_msg == DM_CLICK) || (callback_msg == DM_DOUBLE_CLICK) )
{
if ( callback_index == IDB_UNDO )
{
nbPagePrefix[current_nb_page].modified = FALSE;
initialize_window2_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
else if ( callback_index == IDB_DEFAULT )
{
nbPagePrefix[current_nb_page].modified = TRUE;
default_window2_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
}
else if ( callback_msg == DM_KILL_FOCUS )
{
if ( callback_index == IDE_WIN_VIS_SPACES )
{
nbPagePrefix[current_nb_page].modified = TRUE;
ret_val = query_dialog_item( callback_dialog_handle, callback_index, DAC_EDIT_TEXT )
if ( length(ret_val) > 1 )
{
warning("Invalid entry, maximum field length is 1 character.")
ret_val = substr(ret_val, 1, 1)
set_dialog_item( dhWindowSettings2, callback_index, DAC_EDIT_TEXT, ret_val)
}
}
else if ( callback_index == IDE_WIN_VIS_VIR_SPACES )
{
nbPagePrefix[current_nb_page].modified = TRUE;
ret_val = query_dialog_item( callback_dialog_handle, callback_index, DAC_EDIT_TEXT )
if ( length(ret_val) > 1 )
{
warning("Invalid entry, maximum field length is 1 character.")
ret_val = substr(ret_val, 1, 1)
set_dialog_item( dhWindowSettings2, callback_index, DAC_EDIT_TEXT, ret_val)
}
}
return DRC_MSG_PROCESSED
}
return DRC_CONTINUE
}
########################## WINDOW PAGE 3 #################################
local function initialize_window3_settings( handle )
{
nb_initializing = TRUE;
set_dialog_item( handle, IDE_WIN_SCRL_CON_TOP, DAC_SPIN_LIMITS, 0, 20 )
set_dialog_item( handle, IDE_WIN_SCRL_CON_TOP, DAC_SPIN_VALUE, scroll_context_top+0)
set_dialog_item( handle, IDE_WIN_SCRL_CON_BOT, DAC_SPIN_LIMITS, 0, 20 )
set_dialog_item( handle, IDE_WIN_SCRL_CON_BOT, DAC_SPIN_VALUE, scroll_context_bottom+0)
set_dialog_item( handle, IDE_WIN_SCRL_CON_RT, DAC_SPIN_LIMITS, 0, 20 )
set_dialog_item( handle, IDE_WIN_SCRL_CON_RT, DAC_SPIN_VALUE, scroll_context_right+0)
set_dialog_item( handle, IDE_WIN_SCRL_CON_LT, DAC_SPIN_LIMITS, 0, 20 )
set_dialog_item( handle, IDE_WIN_SCRL_CON_LT, DAC_SPIN_VALUE, scroll_context_left+0)
set_dialog_item( handle, IDE_WIN_SCRL_UNIT_HORZ, DAC_SPIN_LIMITS, 0, 20 )
set_dialog_item( handle, IDE_WIN_SCRL_UNIT_HORZ, DAC_SPIN_VALUE, scroll_unit_horizontal+0)
set_dialog_item( handle, IDE_WIN_SCRL_UNIT_VERT, DAC_SPIN_LIMITS, 0, 20 )
set_dialog_item( handle, IDE_WIN_SCRL_UNIT_VERT, DAC_SPIN_VALUE, scroll_unit_vertical+0)
if ( scroll_means_pan )
{
set_dialog_item(handle, IDC_WIN_SCRL_MEANS_PAN, DAC_CHECK)
}
else
{
set_dialog_item(handle, IDC_WIN_SCRL_MEANS_PAN, DAC_UNCHECK)
}
deselect_checks(handle);
nb_initializing = FALSE;
}
global function window3_apply_to_all()
{
local first_win = current_window
local cur_win = 0
local all_win_scrl_con_top = ""
local all_win_scrl_con_bot = ""
local all_win_scrl_con_rt = ""
local all_win_scrl_con_lt = ""
local all_win_scrl_unit_horz = ""
local all_win_scrl_unit_vert = ""
local all_scroll_means_pan = 0
# all_win_scrl_con_top = query_dialog_item( dhWindowSettings3, IDE_WIN_SCRL_CON_TOP, DAC_EDIT_TEXT )
# all_win_scrl_con_bot = query_dialog_item( dhWindowSettings3, IDE_WIN_SCRL_CON_BOT, DAC_EDIT_TEXT )
# all_win_scrl_con_rt = query_dialog_item( dhWindowSettings3, IDE_WIN_SCRL_CON_RT, DAC_EDIT_TEXT )
# all_win_scrl_con_lt = query_dialog_item( dhWindowSettings3, IDE_WIN_SCRL_CON_LT, DAC_EDIT_TEXT )
# all_win_scrl_unit_horz = query_dialog_item( dhWindowSettings3, IDE_WIN_SCRL_UNIT_HORZ, DAC_EDIT_TEXT )
# all_win_scrl_unit_vert = query_dialog_item( dhWindowSettings3, IDE_WIN_SCRL_UNIT_VERT, DAC_EDIT_TEXT )
# all_scroll_means_pan = query_dialog_item( dhWindowSettings3, IDC_WIN_SCRL_MEANS_PAN, DAC_CHECK )
all_win_scrl_con_top = scroll_context_top
all_win_scrl_con_bot = scroll_context_bottom
all_win_scrl_con_rt = scroll_context_right
all_win_scrl_con_lt = scroll_context_left
all_win_scrl_unit_horz = scroll_unit_horizontal
all_win_scrl_unit_vert = scroll_unit_vertical
all_scroll_means_pan = scroll_means_pan
while( (cur_win = next_window("", 0, 1)) != first_win )
{
scroll_context_top = all_win_scrl_con_top
scroll_context_bottom = all_win_scrl_con_bot
scroll_context_right = all_win_scrl_con_rt
scroll_context_left = all_win_scrl_con_lt
scroll_unit_horizontal = all_win_scrl_unit_horz
scroll_unit_vertical = all_win_scrl_unit_vert
scroll_means_pan = all_scroll_means_pan
}
current_window = first_win
}
global function window3_settings_config()
{
local data[]
local i = 1
data[ i++ ] = sprintf( "# Settings specific to the third window settings notebook page\n" )
data[ i++ ] = sprintf( "default_scroll_context_top=%d\n", default_scroll_context_top )
data[ i++ ] = sprintf( "default_scroll_context_bottom=%d\n", default_scroll_context_bottom )
data[ i++ ] = sprintf( "default_scroll_context_right=%d\n", default_scroll_context_right )
data[ i++ ] = sprintf( "default_scroll_context_left=%d\n", default_scroll_context_left )
data[ i++ ] = sprintf( "default_scroll_unit_horizontal=%d\n", default_scroll_unit_horizontal )
data[ i++ ] = sprintf( "default_scroll_unit_vertical=%d\n", default_scroll_unit_vertical )
data[ i++ ] = sprintf( "default_scroll_means_pan=%d\n", default_scroll_means_pan )
data[ i++ ] = sprintf( "\n" )
return data
}
global function window3_settings_callback()
{
local ret_val
enable_undo( callback_dialog_handle, callback_index )
if(callback_msg == DM_HELPREQUESTED)
{
display_help(nbPagePrefix[current_nb_page].help, callback_dialog_handle);
return DRC_MSG_PROCESSED
}
else if ( callback_msg == DM_INIT )
{
# set_dialog_item( callback_dialog_handle, IDC_APPLY_TO_ALL, DAC_UNCHECK)
apply_page_to_all( "window3", FALSE )
}
else if(callback_msg == DM_CANCEL)
return DRC_MSG_PROCESSED
else if ( (callback_msg == DM_CLICK) || (callback_msg == DM_DOUBLE_CLICK) )
{
if ( callback_index == IDB_UNDO )
{
nbPagePrefix[current_nb_page].modified = FALSE;
initialize_window3_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
else if ( callback_index == IDB_DEFAULT )
{
nbPagePrefix[current_nb_page].modified = TRUE;
default_window3_settings(callback_dialog_handle)
return DRC_MSG_PROCESSED
}
}
else if ( callback_msg == DM_SPIN_CHANGE )
{
nbPagePrefix[current_nb_page].modified = TRUE;
# validate the value the user entered
query_dialog_item( callback_dialog_handle, callback_index, DAC_SPIN_VALUE )
}
return DRC_CONTINUE
}
########################## UNDO and DEFAULT #################################
global function assign_windowhelp_changes(dlgid)
{
nop();
}
global function assign_window0_changes(dlgid)
{
if ( query_dialog_item( dlgid, IDR_SDI_MODE, DAC_CHECK ) && mdi_mode != 0 )
switch_to_sdi()
else if ( query_dialog_item( dlgid, IDR_MDI_MODE, DAC_CHECK ) && mdi_mode != 1 )
switch_to_mdi()
else if ( query_dialog_item( dlgid, IDR_DETACHED_MODE, DAC_CHECK ) && mdi_mode != 2)
switch_to_detached()
if(!mdi_mode)
toggle_create_new_win(0);
else
toggle_create_new_win(query_dialog_item(dlgid, IDC_OPEN_FILES_IN_WINDOW, DAC_CHECK));
}
global function assign_window1_changes(dlgid)
{
linenumber_format = query_dialog_item(dlgid, IDE_WIN_LINE_FORMAT, DAC_EDIT_TEXT);
toggle_win_vscroll( query_dialog_item(dlgid, IDC_WIN_VSCROLL, DAC_CHECK));
toggle_win_hscroll( query_dialog_item(dlgid, IDC_WIN_HSCROLL, DAC_CHECK));
toggle_win_pathinfo(query_dialog_item(dlgid, IDC_PATHINFO, DAC_CHECK));
toggle_linenumbers( query_dialog_item(dlgid, IDC_LINENUMBERS_ON, DAC_CHECK));
if(query_dialog_item(dlgid,IDC_APPLY_TO_ALL, DAC_CHECK))
apply_page_to_all( "window1", function_id("window1_apply_to_all"));
if(query_dialog_item(dlgid,IDC_MAKE_DEFAULT, DAC_CHECK))
make_default_window1_settings();
}
global function assign_window2_changes(dlgid)
{
visible_tabs = query_dialog_item(dlgid, IDE_WIN_VIS_TABS, DAC_EDIT_TEXT);
visible_spaces = query_dialog_item(dlgid, IDE_WIN_VIS_SPACES, DAC_EDIT_TEXT);
visible_virtual_spaces = query_dialog_item(dlgid, IDE_WIN_VIS_VIR_SPACES, DAC_EDIT_TEXT);
visible_newlines = query_dialog_item(dlgid, IDE_WIN_VIS_NEWLINES, DAC_EDIT_TEXT);
visible_virtual_lines = query_dialog_item(dlgid, IDE_WIN_VIS_VIR_LINES, DAC_EDIT_TEXT);
visible_end_buffer = query_dialog_item(dlgid, IDE_WIN_VIS_EOB, DAC_EDIT_TEXT);
if(query_dialog_item(dlgid,IDC_APPLY_TO_ALL, DAC_CHECK))
apply_page_to_all( "window2", function_id("window2_apply_to_all"));
if(query_dialog_item(dlgid,IDC_MAKE_DEFAULT, DAC_CHECK))
make_default_window2_settings();
}
global function assign_window3_changes(dlgid)
{
scroll_context_top = query_dialog_item(dlgid, IDE_WIN_SCRL_CON_TOP, DAC_SPIN_VALUE);
scroll_context_bottom = query_dialog_item(dlgid, IDE_WIN_SCRL_CON_BOT, DAC_SPIN_VALUE);
scroll_context_left = query_dialog_item(dlgid, IDE_WIN_SCRL_CON_LT, DAC_SPIN_VALUE);
scroll_context_right = query_dialog_item(dlgid, IDE_WIN_SCRL_CON_RT, DAC_SPIN_VALUE);
scroll_unit_horizontal = query_dialog_item(dlgid, IDE_WIN_SCRL_UNIT_HORZ, DAC_SPIN_VALUE);
scroll_unit_vertical = query_dialog_item(dlgid, IDE_WIN_SCRL_UNIT_VERT, DAC_SPIN_VALUE);
scroll_means_pan = query_dialog_item(dlgid, IDC_WIN_SCRL_MEANS_PAN, DAC_CHECK);
if(query_dialog_item(dlgid,IDC_APPLY_TO_ALL, DAC_CHECK))
apply_page_to_all( "window3", function_id("window3_apply_to_all"));
if(query_dialog_item(dlgid,IDC_MAKE_DEFAULT, DAC_CHECK))
make_default_window3_settings();
}
local function default_window0_settings( handle )
{
nb_initializing = TRUE;
set_dialog_item( handle, IDC_OPEN_FILES_IN_WINDOW, DAC_UNCHECK);
set_dialog_item( handle, IDR_SDI_MODE, DAC_CHECK)
set_dialog_item( handle, IDR_MDI_MODE, DAC_UNCHECK)
set_dialog_item( handle, IDR_DETACHED_MODE, DAC_UNCHECK)
nb_initializing = FALSE;
}
local function default_window1_settings( handle )
{
nb_initializing = TRUE;
if(default_linenumber_format)
{
set_dialog_item(handle, IDC_LINENUMBERS_ON, DAC_CHECK)
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_ENABLE )
set_dialog_item(handle, IDT_WIN_LINE_FORMAT, DAC_ENABLE )
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_EDIT_TEXT, default_linenumber_format)
}
else
{
set_dialog_item(handle, IDC_LINENUMBERS_ON, DAC_UNCHECK)
set_dialog_item(handle, IDE_WIN_LINE_FORMAT, DAC_DISABLE )
set_dialog_item(handle, IDT_WIN_LINE_FORMAT, DAC_DISABLE )
}
if ( and(default_window_flags, WINDOW_VERT_SB ) )
set_dialog_item( handle, IDC_WIN_VSCROLL, DAC_CHECK)
else
set_dialog_item( handle, IDC_WIN_VSCROLL, DAC_UNCHECK)
if ( and(default_window_flags, WINDOW_HORIZ_SB ) )
set_dialog_item( handle, IDC_WIN_HSCROLL, DAC_CHECK)
else
set_dialog_item( handle, IDC_WIN_HSCROLL, DAC_UNCHECK)
if ( and(default_window_flags, WINDOW_DISPLAY_FULL_FILENAME ) )
set_dialog_item( handle, IDC_PATHINFO, DAC_CHECK)
else
set_dialog_item( handle, IDC_PATHINFO, DAC_UNCHECK)
deselect_checks(handle);
nb_initializing = FALSE;
}
local function default_window2_settings( handle )
{
nb_initializing = TRUE;
set_dialog_item(handle, IDE_WIN_VIS_TABS, DAC_EDIT_TEXT, default_visible_tabs "");
set_dialog_item(handle, IDE_WIN_VIS_SPACES, DAC_EDIT_TEXT, default_visible_spaces "");
set_dialog_item(handle, IDE_WIN_VIS_NEWLINES, DAC_EDIT_TEXT, default_visible_newlines "");
set_dialog_item(handle, IDE_WIN_VIS_VIR_SPACES, DAC_EDIT_TEXT, default_visible_virtual_spaces "");
set_dialog_item(handle, IDE_WIN_VIS_VIR_LINES, DAC_EDIT_TEXT, default_visible_virtual_lines "");
set_dialog_item(handle, IDE_WIN_VIS_EOB, DAC_EDIT_TEXT, default_visible_end_buffer "");
deselect_checks(handle);
nb_initializing = FALSE;
}
local function default_window3_settings( handle )
{
nb_initializing = TRUE;
set_dialog_item(handle, IDE_WIN_SCRL_CON_TOP, DAC_SPIN_VALUE, default_scroll_context_top);
set_dialog_item(handle, IDE_WIN_SCRL_CON_BOT, DAC_SPIN_VALUE, default_scroll_context_bottom);
set_dialog_item(handle, IDE_WIN_SCRL_CON_RT, DAC_SPIN_VALUE, default_scroll_context_right);
set_dialog_item(handle, IDE_WIN_SCRL_CON_LT, DAC_SPIN_VALUE, default_scroll_context_left);
set_dialog_item(handle, IDE_WIN_SCRL_UNIT_HORZ, DAC_SPIN_VALUE, default_scroll_unit_horizontal);
set_dialog_item(handle, IDE_WIN_SCRL_UNIT_VERT, DAC_SPIN_VALUE, default_scroll_unit_vertical);
if(default_scroll_means_pan )
set_dialog_item(handle, IDC_WIN_SCRL_MEANS_PAN, DAC_CHECK);
else
set_dialog_item(handle, IDC_WIN_SCRL_MEANS_PAN, DAC_UNCHECK);
deselect_checks(handle);
nb_initializing = FALSE;
}
local function make_default_window1_settings(handle)
{
# make these values the defaults;
default_window_flags = window_flags;
default_linenumber_format = linenumber_format;
}
local function make_default_window2_settings(handle)
{
# make these values the defaults;
default_visible_tabs = visible_tabs;
default_visible_spaces = visible_spaces;
default_visible_newlines = visible_newlines;
default_visible_virtual_spaces = visible_virtual_spaces;
default_visible_virtual_lines = visible_virtual_lines;
default_visible_end_buffer = visible_end_buffer;
}
local function make_default_window3_settings(handle)
{
# make these values the defaults;
default_scroll_context_top = scroll_context_top;
default_scroll_context_bottom = scroll_context_bottom;
default_scroll_context_right = scroll_context_right;
default_scroll_context_left = scroll_context_left;
default_scroll_unit_horizontal = scroll_unit_horizontal;
default_scroll_unit_vertical = scroll_unit_vertical;
default_scroll_means_pan = scroll_means_pan;
}