IMAGE notes

EXTERNAL olib
EXTERNAL hwim

INCLUDE hwimman.g
INCLUDE edwin.g
INCLUDE ipc.g

CLASS nowin bwin
    {
    REPLACE wn_key
    REPLACE wn_emphasise
    REPLACE wn_draw
    REPLACE wn_init
    ADD nw_increase_width
    ADD nw_init=p_dummy
    PROPERTY 1
        {
        PR_EDWIN *edwin;
        }
    }

CLASS notitwin nowin
    {
    REPLACE wn_key
    }

CLASS nofndwin nowin
    {
    REPLACE destroy
    REPLACE wn_draw
    REPLACE wn_key
    REPLACE nw_init
    PROPERTY
        {
        TEXT *prompt;
        UWORD len;
        UWORD x;
        UWORD y;
        }
    }
    
CLASS notagwin win
    {
    REPLACE wn_set
    REPLACE wn_sense
    REPLACE wn_draw
    PROPERTY
        {
        UWORD on;
        }
    }

CLASS nocntwin win
    {
    REPLACE wn_set
    REPLACE wn_sense
    REPLACE wn_draw
    PROPERTY
        {
        UWORD val;
        UWORD max;
        }
    }
    
CLASS nocomman comman
    {
    REPLACE com_init
    REPLACE com_statwin
    REPLACE com_exit
    ADD ncon_new
    ADD ncon_insert
    ADD ncon_copy
    ADD ncon_delete
    ADD ncon_record
    ADD ncon_undo
    ADD ncoe_insert
    ADD ncoe_copy
    ADD ncoe_bring
    ADD ncoe_evaluate
    ADD ncoe_sum=p_dummy
    ADD ncow_title
    ADD ncow_notes=nocomman_ncow_title
    ADD ncow_find=nocomman_ncow_title
    ADD ncos_options
    ADD ncos_forwards
    ADD ncos_backwards
    ADD ncos_first
    ADD ncos_last
    ADD ncot_set
    ADD ncot_clear=nocomman_ncot_set
    ADD ncot_set_all=nocomman_ncot_set
    ADD ncot_clear_all=nocomman_ncot_set
    ADD ncox_goto
    ADD ncox_moveto
    ADD ncox_symbols=p_dummy
    ADD ncox_psetup
    ADD ncox_print=p_dummy
    ADD nco_switch_focus
    ADD nco_quick_find
    TYPES
        {
        typedef struct
            {
            UBYTE len;
            TEXT *buf;
            } LENBUF;
        typedef struct
            {
            LENBUF title;
            LENBUF note;
            UWORD tagged;
            } NOTE;
        }
    CONSTANTS
        {
        TITLE_WINDOW        0
        NOTES_WINDOW        1
        FIND_WINDOW         2
        MAX_NUMBER_NOTES    99
        FIND_NOTES_ONLY     0
        FIND_TITLE_ONLY     1
        FIND_EITHER_WIN     2
        }
    PROPERTY
        {
        PR_NOWIN *edit[3];
        UWORD which;
        PR_NOTAGWIN *tagwin;
        PR_NOCNTWIN *cntwin;
        WORD where;
        UBYTE casesens;
        UBYTE findtype;
        NOTE clip;
        SE_EDWIN pattern;
        }
    }

CLASS nowserv wserv
    {
    REPLACE ws_background
    }

CLASS nolinksv linksv
    {
    REPLACE ls_set_format
    REPLACE ls_get_data
    PROPERTY
        {
        PR_EWLINKSV *ewls;
        }
    }
    
CLASS nodl_goto dlgbox
    {
    REPLACE dl_dyn_init
    REPLACE dl_key
    }

CLASS nodl_options dlgbox
    {
    REPLACE dl_dyn_init
    REPLACE dl_key
    }
