Listing 2: A first attempt at moving to C++
class PrintDialog {
Widget okButton;
Widget cancelButton;
Widget printerList;
char *printerName;
public:
PrintDialog(Widget parent);
void okCallback(Widget,
XtPointer,
XtPointer);
};
PrintDialog::PrintDialog(Widget parent)
{
...
okButton = XmCreatePushButton(parent,
"OK",
NULL,
0);
XtAddCallback(okButton, // <-- This will not compile
XmNactivateCallback,
okCallback,
NULL);
...
}
void PrintDialog::okCallback(Widget w,
XtPointer user_data,
XtPointer call_data)
{
cout << "Selected Printer: " << printerName << endl;
}
int main()
{
...
PrintDialog *pd = new PrintDialog(parent);
...
}
//End of File