Blob Blame History Raw
! 
! Motif
!
! Copyright (c) 1987-2012, The Open Group. All rights reserved.
!
! These libraries and programs are free software; you can
! redistribute them and/or modify them under the terms of the GNU
! Lesser General Public License as published by the Free Software
! Foundation; either version 2 of the License, or (at your option)
! any later version.
!
! These libraries and programs are distributed in the hope that
! they will be useful, but WITHOUT ANY WARRANTY; without even the
! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
! PURPOSE. See the GNU Lesser General Public License for more
! details.
!
! You should have received a copy of the GNU Lesser General Public
! License along with these librararies and programs; if not, write
! to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
! Floor, Boston, MA 02110-1301 USA
! 
! 
! HISTORY
! 
!   $XConsortium: multi.uil /main/7 1995/07/13 17:58:27 drk $
!******************************************************************************
module test
    version = 'v1.0'
    names = case_sensitive
    character_set=iso_latin1
    objects = {
	XmSeparator = gadget;
	XmLabel = gadget;
	XmPushButton = gadget;
	XmToggleButton = gadget;
	}

procedure
    create_proc(integer);
    slider_value_change();
    cut_proc();
    byname_proc();
    paste_proc();
    undo_proc();
    inquire_proc();
    lock_proc();
    unlock_proc();
    quit_proc();

value
    K_popup_id : 1;
    K_log_id : 2;
    K_form_id : 3;
    K_text_value_id : 4;
    K_text_select_id : 5;
    K_pixmap_value_id : 6;
    K_pixmap_select_id : 7;
    K_int_value_id : 8;
    K_int_select_id : 9;
    K_slider_id : 10;

value
!    app_font : font('courier_bold14', character_set=iso_latin1);
    app_font : font('variable', character_set=iso_latin1);

value
    K_toggle_width : 100;

object app_main : XmForm {
    arguments {
    };
    controls {
	XmToggleButton text_select;
	XmLabel text_value;
	XmToggleButton int_select;
	XmLabel int_value;
	XmToggleButton pixmap_select;
	XmLabel pixmap_value;
	XmScale slider;
	XmText clip_log;
	XmWorkArea command_box;
        unmanaged XmPopupMenu command_menu;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_form_id);
    };
};

object text_select : XmToggleButton {
    arguments {
	XmNtopAttachment = XmATTACH_FORM;
	XmNtopOffset = 10;
	XmNleftAttachment = XmATTACH_FORM;
	XmNleftOffset = 10;
	XmNlabelString = "STRING";
	XmNfontList = app_font;
	XmNwidth = K_toggle_width;
	XmNset = true;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_text_select_id);
    };
};
object text_value : XmLabel widget {
    arguments {
	XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;
	XmNtopWidget = XmToggleButton text_select;
	XmNtopOffset = 0;
	XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;
	XmNbottomWidget = XmToggleButton text_select;
	XmNbottomOffset = 0;
	XmNleftAttachment = XmATTACH_WIDGET;
	XmNleftWidget = XmToggleButton text_select;
	XmNrightAttachment = XmATTACH_FORM;
	XmNrightOffset = 10;
	XmNlabelString = " ";
	XmNfontList = app_font;
!	XmNshadowThickness = 4;	
	XmNborderWidth = 1;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_text_value_id);
    };
};
object int_select : XmToggleButton {
    arguments {
	XmNtopAttachment = XmATTACH_WIDGET;
	XmNtopWidget = XmToggleButton text_select;
	XmNleftAttachment = XmATTACH_FORM;
	XmNleftOffset = 10;
	XmNlabelString = "INTEGER";
	XmNfontList = app_font;
	XmNwidth = K_toggle_width;
	XmNset = true;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_int_select_id);
    };
};
object int_value : XmLabel widget {
    arguments {
	XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;
	XmNtopWidget = XmToggleButton int_select;
	XmNtopOffset = 0;
	XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;
	XmNbottomWidget = XmToggleButton int_select;
	XmNbottomOffset = 0;
	XmNleftAttachment = XmATTACH_WIDGET;
	XmNleftWidget = XmToggleButton int_select;
	XmNrightAttachment = XmATTACH_FORM;
	XmNrightOffset = 10;
	XmNlabelString = " ";
	XmNfontList = app_font;
!	XmNshadowThickness = 4;	
	XmNborderWidth = 1;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_int_value_id);
    };
};
object pixmap_select : XmToggleButton {
    arguments {
	XmNtopAttachment = XmATTACH_WIDGET;
	XmNtopWidget = XmToggleButton int_select;
	XmNleftAttachment = XmATTACH_FORM;
	XmNleftOffset = 10;
	XmNlabelString = "PIXMAP";
	XmNfontList = app_font;
	XmNwidth = K_toggle_width;
	XmNset = true;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_pixmap_select_id);
    };
};
object pixmap_value : XmLabel widget {
    arguments {
	XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;
	XmNtopWidget = XmToggleButton pixmap_select;
	XmNtopOffset = 0;
	XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;
	XmNbottomWidget = XmToggleButton pixmap_select;
	XmNbottomOffset = 0;
	XmNleftAttachment = XmATTACH_WIDGET;
	XmNleftWidget = XmToggleButton pixmap_select;
!	XmNrightAttachment = XmATTACH_FORM;
!	XmNrightOffset = 10;
	XmNwidth = 220;
	XmNlabelType = XmPIXMAP;
	XmNfontList = app_font;
!	XmNshadowThickness = 4;	
	XmNborderWidth = 1;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_pixmap_value_id);
    };
};

object slider : XmScale {
    arguments {
	XmNtopAttachment = XmATTACH_WIDGET;
	XmNtopWidget = XmToggleButton pixmap_select;
	XmNtopOffset = 10;
	XmNleftAttachment = XmATTACH_FORM;
	XmNleftOffset = 10;
	XmNrightAttachment = XmATTACH_FORM;
	XmNrightOffset = 10;
	XmNfontList = app_font;
	XmNorientation = XmHORIZONTAL;
	XmNshowValue = true;
	XmNprocessingDirection = XmMAX_ON_RIGHT;
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_slider_id);
	XmNvalueChangedCallback = procedure slider_value_change();
	XmNdragCallback = procedure slider_value_change();
    };
};

object clip_log : XmText {
    arguments {
	XmNtopAttachment = XmATTACH_WIDGET;
	XmNtopWidget = XmScale slider;
	XmNtopOffset = 10;
	XmNleftAttachment = XmATTACH_FORM;
	XmNrightAttachment = XmATTACH_FORM;
        XmNbottomAttachment = XmATTACH_WIDGET;
        XmNbottomWidget = XmWorkArea command_box;
	XmNfontList = app_font;
	XmNrows = 5;
	XmNresizeHeight = false;
	XmNresizeWidth = false;
	XmNeditMode = XmMULTI_LINE_EDIT;
! test for PIR 2689 - see Long Desc for instructions
	XmNeditable = true;
        XmNtraversalOn = true;
! end of test for PIR 2689
    };
    callbacks {
	MrmNcreateCallback = procedure create_proc(K_log_id);
    };
};

object command_box : XmWorkArea {
    arguments {
        XmNleftAttachment = XmATTACH_FORM;
        XmNrightAttachment = XmATTACH_FORM;
        XmNbottomAttachment = XmATTACH_FORM;
        XmNorientation = XmHORIZONTAL;
    };
    controls {
	XmPushButton cut;
	XmPushButton byname;
	XmPushButton paste;
	XmPushButton undo;
	XmPushButton inquire;
	XmPushButton lock;
	XmPushButton unlock;
	XmPushButton quit;
    };
    callbacks {
        MrmNcreateCallback = procedure create_proc(K_popup_id);
    };
};
object command_menu : XmPopupMenu {
    arguments {
        XmNx = 50;
        XmNy = 50;
    };
    controls {
	XmPushButton cut;
	XmPushButton byname;
	XmPushButton paste;
	XmPushButton undo;
	XmPushButton inquire;
	XmPushButton lock;
	XmPushButton unlock;
	XmSeparator { arguments { XmNwidth=4; }; };
	XmPushButton quit;
    };
    callbacks {
        MrmNcreateCallback = procedure create_proc(K_popup_id);
    };
};

object cut : XmPushButton {
    arguments {
	XmNlabelString = 'Cut';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure cut_proc();
    };
};
object byname : XmPushButton {
    arguments {
	XmNlabelString = 'Cut(By Name)';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure byname_proc();
    };
};
object paste : XmPushButton {
    arguments {
	XmNlabelString = 'Paste';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure paste_proc();
    };
};
object undo : XmPushButton {
    arguments {
	XmNlabelString = 'Undo';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure undo_proc();
    };
};
object inquire : XmPushButton {
    arguments {
	XmNlabelString = 'Inquire';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure inquire_proc();
    };
};
object lock : XmPushButton {
    arguments {
	XmNlabelString = 'Lock';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure lock_proc();
    };
};
object unlock : XmPushButton {
    arguments {
	XmNlabelString = 'Unlock';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure unlock_proc();
    };
};
object quit : XmPushButton {
    arguments {
	XmNlabelString = 'Quit';
	XmNfontList = app_font;
    };
    callbacks {
	XmNactivateCallback = procedure quit_proc();
    };
};

end module;