/* Copyright (c) 1998 Alexander Yukhimets. All rights reserved. */
#include"axyftp.h"
#include"utils.h"
#include"proto.h"
#ifdef BUILD_GTK
#include<gtk/gtk.h>
char get_proto_state(GtkWidget* proto){
if(GTK_TOGGLE_BUTTON(WXnameToWidget(proto,"ASCII"))->active)return 'A';
if(GTK_TOGGLE_BUTTON(WXnameToWidget(proto,"Binary"))->active)return 'I';
return '\0';
}
GtkWidget* create_proto(GtkWidget* parent){
GtkWidget *proto,*b1,*b2,*b3;
proto=gtk_hbox_new(TRUE,2);
gtk_widget_show(proto);
b1=gtk_radio_button_new_with_label(NULL,"ASCII");
gtk_box_pack_start(GTK_BOX(proto),b1,FALSE,TRUE,2);
gtk_widget_show(b1);
gtk_widget_set_name(b1,"ASCII");
b2=gtk_radio_button_new_with_label(
gtk_radio_button_group(GTK_RADIO_BUTTON(b1)),"Binary");
gtk_box_pack_start(GTK_BOX(proto),b2,FALSE,TRUE,2);
gtk_widget_show(b2);
gtk_widget_set_name(b2,"Binary");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b2),TRUE);
b3=gtk_radio_button_new_with_label(
gtk_radio_button_group(GTK_RADIO_BUTTON(b2)),"Auto");
gtk_box_pack_start(GTK_BOX(proto),b3,FALSE,TRUE,2);
gtk_widget_show(b3);
return proto;
}
#elif defined BUILD_MOTIF
#include<Xm/Xm.h>
#include<Xm/Form.h>
#include<Xm/Label.h>
#include<Xm/ToggleB.h>
#include<Xm/RowColumn.h>
#include<Xm/ScrollBar.h>
char get_proto_state(Widget proto){
Widget child;
child=XtNameToWidget(proto,"*ASCII");
if(XmToggleButtonGetState(child))return 'A';
child=XtNameToWidget(proto,"*Binary");
if(XmToggleButtonGetState(child))return 'I';
return '\0';
}
Widget create_proto(Widget parent){
Arg args[10];
Cardinal n;
Widget proto,b1,b2,b3;
Pixel black_pixel;
black_pixel=BlackPixelOfScreen(XtScreen(parent));
n=0;
XtSetArg(args[n],XmNorientation,XmHORIZONTAL);n++;
XtSetArg(args[n],XmNresizeWidth,True);n++;
XtSetArg(args[n],XmNpacking,XmPACK_COLUMN);n++;
XtSetArg(args[n],XmNentryAlignment,XmALIGNMENT_CENTER);n++;
XtSetArg(args[n],XmNisAligned,True);n++;
XtSetArg(args[n],XmNradioAlwaysOne,True);n++;
XtSetArg(args[n],XmNnumColumns,1);n++;
XtSetArg(args[n],XmNbuttonCount,3);n++;
proto=XmCreateRadioBox(parent,"proto",args,n);
XtManageChild(proto);
n=0;
XtSetArg(args[n],XmNhighlightThickness,0);n++;
XtSetArg(args[n],XmNfillOnSelect,True);n++;
XtSetArg(args[n],XmNindicatorType,XmONE_OF_MANY);n++;
XtSetArg(args[n],XmNset,FALSE);n++;
/*XtSetArg(args[n],XmNselectColor,black_pixel);n++;*/
b1=XmCreateToggleButton(proto,"ASCII",args,n);
XtManageChild(b1);
n=0;
XtSetArg(args[n],XmNhighlightThickness,0);n++;
XtSetArg(args[n],XmNfillOnSelect,True);n++;
XtSetArg(args[n],XmNindicatorType,XmONE_OF_MANY);n++;
XtSetArg(args[n],XmNset,TRUE);n++;
/*XtSetArg(args[n],XmNselectColor,black_pixel);n++;*/
b2=XmCreateToggleButton(proto,"Binary",args,n);
XtManageChild(b2);
n=0;
XtSetArg(args[n],XmNhighlightThickness,0);n++;
XtSetArg(args[n],XmNfillOnSelect,True);n++;
XtSetArg(args[n],XmNindicatorType,XmN_OF_MANY);n++;
XtSetArg(args[n],XmNset,FALSE);n++;
b3=XmCreateToggleButton(proto,"Auto",args,n);
XtManageChild(b3);
appdata.proto=proto;
return proto;
}
#else
#error Either BUILD_GTK or BUILD_MOTIF should be defined
#endif
syntax highlighted by Code2HTML, v. 0.9.1