home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
p2demo21.exe
/
PEL
/
DDE.PEL
< prev
next >
Wrap
Text File
|
1995-03-13
|
3KB
|
113 lines
# $Header: P:\source\wmacros\dde.pev 1.12 13 Mar 1995 08:53:14 WALKER $
## $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: dde.pel $: dynamic data exchange
# long create_dde_server(String server, MacroId macid)
# void delete_dde_server(long serverid)
#
# long create_dde_topic(String topic)
# void delete_dde_topic(long topicid)
#
# long add_dde_item(long topicid, String item)
# long delete_dde_item(long topicid, String item)
#
# long add_dde_server_topic(long serverid, long topicid )
# void remove_dde_server_topic(long serverid, String topic)
global DDE_INITIATE = 1000
global DDE_EXECUTE = 1001
local serverid = 0
global function initialize_dde()
{
local topicid
if ( serverid != 0 )
return
serverid = create_dde_server("CPE", function_id("dde_callback"))
if ( serverid ) {
topicid = create_dde_topic("CPETOPIC")
add_dde_item(topicid, "EDITFILE")
add_dde_item(topicid, "TOTOP")
add_dde_item(topicid, "EXECUTEPEL")
add_dde_server_topic(serverid, topicid)
}
}
## process_dde_command_line()
#
#
global function process_dde_command_line(files)
{
local arr
local i
split(files, arr, "&")
for ( i in arr )
{
if ( arr[i] != "" )
create_buf_and_win_key( arr[i] )
}
}
global function dde_callback()
{
local topicid
local linenumber
local numerrors
local funid
if ( dde_callback_action(serverid) == DDE_EXECUTE )
{
if ( dde_callback_item(serverid) == "EDITFILE" )
{
if ( mdi_mode != 2 )
set_editwin_property( EWC_TO_TOP ) # bring editwin to top of window stack
process_dde_command_line( dde_callback_data(serverid) )
# create_buf_and_win( dde_callback_data(serverid) )
display_update()
}
else if ( dde_callback_item(serverid) == "TOTOP" )
{
if ( mdi_mode != 2 )
set_editwin_property( EWC_TO_TOP ) # bring editwin to top of window stack
current_window = current_window
display_update()
}
else if ( dde_callback_item(serverid) == "EXECUTEPEL" )
{
if ( ( funid = function_id(dde_callback_data(serverid))) == 0 )
warning("Unable to execute " dde_callback_data(serverid) )
else
{
execute_function( funid )
update_current_view()
}
}
}
}