Go to the documentation of this file.00001
00030 #include <stdio.h>
00031 #include <stdarg.h>
00032
00033 #include <Xm/Xm.h>
00034 #include <Xm/Form.h>
00035 #include <Xm/Separator.h>
00036 #include <Xm/ScrolledW.h>
00037 #include <Xm/Frame.h>
00038 #include <Xm/Text.h>
00039 #include <Xm/ScrolledW.h>
00040 #include <Xm/ScrollBar.h>
00041 #include <Xm/PushB.h>
00042 #include <Xm/ToggleB.h>
00043 #include <Xm/ArrowB.h>
00044 #include <Xm/CascadeB.h>
00045 #include <Xm/DrawnB.h>
00046 #include <Xm/Scale.h>
00047 #include <Xm/RowColumn.h>
00048 #include <Xm/Label.h>
00049 #include <Xm/TextF.h>
00050 #include <Xm/Text.h>
00051 #include <Xm/List.h>
00052 #include <Xm/DrawingA.h>
00053 #include <Xm/MenuShell.h>
00054 #include <X11/Shell.h>
00055
00056 #include "util.h"
00057 #include "callbacks.h"
00058
00059
00065 Widget *
00066 create_main_window (Widget *main_window)
00067 {
00068 Arg args[100];
00069 XmString xmstrings[10];
00070 XmFontList fontlist;
00071 Widget vbox;
00072 Widget hbox;
00073 Widget notebook;
00074 Widget footprint_tab_table;
00075 Widget author_frame;
00076 Widget author_frame_alignment;
00077 Widget author_table;
00078 Widget footprint_author_label;
00079 Widget footprint_dist_license_label;
00080 Widget footprint_author_entry;
00081 Widget footprint_dist_license_entry;
00082 Widget footprint_use_license_entry;
00083 Widget footprint_use_license_label;
00084 Widget footprint_status_label;
00085 Widget footprint_status_entry;
00086 Widget author_frame_label;
00087 Widget footprint_frame;
00088 Widget footprint_frame_alignment;
00089 Widget footprint_table;
00090 Widget footprint_units_label;
00091 Widget footprint_units_entry;
00092 Widget footprint_name_entry;
00093 Widget footprint_type_entry;
00094 Widget footprint_type_label;
00095 Widget footprint_name_label;
00096 Widget package_body_height_entry;
00097 Widget package_body_height_label;
00098 Widget pacakge_body_width_label;
00099 Widget package_body_length_label;
00100 Widget footprint_value_label;
00101 Widget package_body_width_entry;
00102 Widget package_body_length_entry;
00103 Widget footprint_value_entry;
00104 Widget footprint_refdes_label;
00105 Widget footprint_refdes_entry;
00106 Widget add_license_checkbutton;
00107 Widget package_is_radial_checkbutton;
00108 Widget add_attribs_checkbutton;
00109 Widget footprint_frame_label;
00110 Widget footprint_tab_label;
00111 Widget pins_pads_table;
00112 Widget pads_frame;
00113 Widget pads_alignment;
00114 Widget pads_table;
00115 Widget pad_solder_mask_clearance_label;
00116 Widget pad_solder_mask_clearance_entry;
00117 Widget pad_clearance_label;
00118 Widget pad_width_label;
00119 Widget pad_length_label;
00120 Widget pad_clearance_entry;
00121 Widget pad_width_entry;
00122 Widget pad_length_entry;
00123 Widget pad_shape_label;
00124 Widget pad_shape_entry;
00125 Widget pads_label;
00126 Widget pins_frame;
00127 Widget pins_alignment;
00128 Widget pins_table;
00129 Widget pad_diameter_entry;
00130 Widget pin_drill_diameter_label;
00131 Widget pin_pad_diameter_label;
00132 Widget pin_square_checkbutton;
00133 Widget pin_drill_diameter_entry;
00134 Widget pins_label;
00135 Widget pins_pads_pattern_frame;
00136 Widget pins_pads_pattern_alignment;
00137 Widget pins_pads_pattern_table;
00138 Widget total_pins_and_pads_label;
00139 Widget pitch_x_label;
00140 Widget pitch_y_label;
00141 Widget number_total_pins_entry;
00142 Widget pitch_x_entry;
00143 Widget pitch_y_entry;
00144 Widget label1;
00145 Widget label2;
00146 Widget count_x_entry;
00147 Widget count_y_entry;
00148 Widget number_1_position_label;
00149 Widget number_1_position_entry;
00150 Widget number_of_columns_label;
00151 Widget number_of_columns_entry;
00152 Widget number_of_rows_label;
00153 Widget number_of_rows_entry;
00154 Widget pin_pad_exceptions_entry;
00155 Widget pin_pad_exceptions_button;
00156 Widget pins_pads_pattern_label;
00157 Widget pins_pads_tab_tab_label;
00158 Widget silkscreen_table;
00159 Widget courtyard_frame;
00160 Widget courtyard_alignment;
00161 Widget courtyard_table;
00162 Widget courtyard_checkbutton;
00163 Widget courtyard_width_label;
00164 Widget courtyard_length_label;
00165 Widget courtyard_length_entry;
00166 Widget courtyard_width_entry;
00167 Widget courtyard_line_width_label;
00168 Widget courtyard_line_width_entry;
00169 Widget courtyard_clearance_with_package_label;
00170 Widget courtyard_clearance_with_package_entry;
00171 Widget courtyard_label;
00172 Widget package_frame;
00173 Widget package_alignment;
00174 Widget package_table;
00175 Widget silkscreen_package_outline_checkbutton;
00176 Widget silkscreen_indicate_1_checkbutton;
00177 Widget silkscreen_line_width_label;
00178 Widget silkscreen_line_width_entry;
00179 Widget package_label;
00180 Widget silkscreen_tab_label;
00181 Widget thermal_table;
00182 Widget thermal_pad_frame;
00183 Widget thermal_pad_alignment;
00184 Widget thermal_pad_table;
00185 Widget thermal_checkbutton;
00186 Widget thermal_pad_length_label;
00187 Widget thermal_pad_width_label;
00188 Widget thermal_width_entry;
00189 Widget thermal_length_entry;
00190 Widget thermal_nopaste_checkbutton;
00191 Widget thermal_pad_solder_mask_clearance_label;
00192 Widget thermal_pad_clearance_label;
00193 Widget thermal_solder_mask_clearance_entry;
00194 Widget thermal_clearance_entry;
00195 Widget thermal_pad_label;
00196 Widget fiducials_frame;
00197 Widget fiducials_alignment;
00198 Widget fiducials_table;
00199 Widget fiducial_pad_diameter_label;
00200 Widget fiducial_pad_diameter_entry;
00201 Widget fiducial_checkbutton;
00202 Widget fiducial_solder_mask_clearance_label;
00203 Widget fiducial_pad_solder_mask_clearance_entry;
00204 Widget fiducial_pad_clearance_label;
00205 Widget fiducial_pad_clearance_entry;
00206 Widget fiducials_label;
00207 Widget thermal_pad_tab_label;
00208 Widget heel_and_toe_goals_vbox;
00209 Widget top_to_bottom_frame;
00210 Widget top_to_bottom_alignment;
00211 Widget top_to_bottom_table;
00212 Widget G1_radiobutton_group;
00213 Widget G1_radiobutton;
00214 Widget C1_radiobutton;
00215 Widget Z1_radiobutton;
00216 Widget G1_entry;
00217 Widget C1_entry;
00218 Widget Z1_entry;
00219 Widget top_to_bottom_label;
00220 Widget left_to_right_frame;
00221 Widget left_to_right_alignment;
00222 Widget left_to_right_table;
00223 Widget G2_radiobutton_group;
00224 Widget G2_radiobutton;
00225 Widget C2_radiobutton;
00226 Widget Z2_radiobutton;
00227 Widget G2_entry;
00228 Widget C2_entry;
00229 Widget Z2_entry;
00230 Widget left_to_right_label;
00231 Widget heel_and_toe_goals_tab_label;
00232 Widget hbuttonbox0;
00233 Widget refresh_button;
00234 Widget dimensions_button;
00235 Widget alignment4;
00236 Widget hbox4;
00237 Widget image4;
00238 Widget label6;
00239 Widget preview_button;
00240 Widget alignment1;
00241 Widget hbox1;
00242 Widget image1;
00243 Widget label3;
00244 Widget clear_button;
00245 Widget hbuttonbox1;
00246 Widget close_button;
00247 Widget footprint_button;
00248 Widget alignment3;
00249 Widget hbox3;
00250 Widget image3;
00251 Widget label5;
00252 Widget open_button;
00253 Widget save_button;
00254 Widget statusbar;
00255 Widget tooltips;
00256
00257
00258 xmstrings[0] = XmStringCreateSimple ("G1");
00259 XtSetArg(args[0], XmNlabelString, xmstrings[0]);
00260 G1_radiobutton = XtCreateManagedWidget ("G1_radiobutton",
00261 xmToggleButtonWidgetClass, G1_radiobutton_group, args, 1);
00262 XmStringFree (xmstrings[0]);
00263
00264 xmstrings[0] = XmStringCreateSimple("C1");
00265 XtSetArg(args[0], XmNlabelString, xmstrings[0]);
00266 C1_radiobutton = XtCreateManagedWidget ("C1_radiobutton",
00267 xmToggleButtonWidgetClass, G1_radiobutton_group, args, 1);
00268 XmStringFree (xmstrings[0]);
00269
00270 return (main_window);
00271 }
00272
00273
00274