Mercurial > hg > xemacs-beta
comparison lwlib/lwlib-Xm.c @ 217:d44af0c54775 r20-4b7
Import from CVS: tag r20-4b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:08:34 +0200 |
parents | 41ff10fd062f |
children | f220cc83d72e |
comparison
equal
deleted
inserted
replaced
216:43306a74e31c | 217:d44af0c54775 |
---|---|
374 static void | 374 static void |
375 xm_update_toggle (widget_instance* instance, Widget widget, widget_value* val) | 375 xm_update_toggle (widget_instance* instance, Widget widget, widget_value* val) |
376 { | 376 { |
377 Arg al [2]; | 377 Arg al [2]; |
378 XtRemoveAllCallbacks (widget, XmNvalueChangedCallback); | 378 XtRemoveAllCallbacks (widget, XmNvalueChangedCallback); |
379 #ifndef ENERGIZE | |
380 XtAddCallback (widget, XmNvalueChangedCallback, xm_generic_callback, | 379 XtAddCallback (widget, XmNvalueChangedCallback, xm_generic_callback, |
381 instance); | 380 instance); |
382 #else | |
383 XtAddCallback (widget, XmNvalueChangedCallback, | |
384 xm_internal_update_other_instances, instance); | |
385 #endif | |
386 XtSetArg (al [0], XmNset, val->selected); | 381 XtSetArg (al [0], XmNset, val->selected); |
387 XtSetArg (al [1], XmNalignment, XmALIGNMENT_BEGINNING); | 382 XtSetArg (al [1], XmNalignment, XmALIGNMENT_BEGINNING); |
388 XtSetValues (widget, al, 2); | 383 XtSetValues (widget, al, 2); |
389 } | 384 } |
390 | 385 |
1578 | 1573 |
1579 #endif /* SCROLLBARS_MOTIF */ | 1574 #endif /* SCROLLBARS_MOTIF */ |
1580 | 1575 |
1581 /* Table of functions to create widgets */ | 1576 /* Table of functions to create widgets */ |
1582 | 1577 |
1583 #ifdef ENERGIZE | |
1584 | |
1585 /* interface with the XDesigner generated functions */ | |
1586 typedef Widget (*widget_maker) (Widget); | |
1587 extern Widget create_project_p_sheet (Widget parent); | |
1588 extern Widget create_debugger_p_sheet (Widget parent); | |
1589 extern Widget create_breaklist_p_sheet (Widget parent); | |
1590 extern Widget create_le_browser_p_sheet (Widget parent); | |
1591 extern Widget create_class_browser_p_sheet (Widget parent); | |
1592 extern Widget create_call_browser_p_sheet (Widget parent); | |
1593 extern Widget create_build_dialog (Widget parent); | |
1594 extern Widget create_editmode_dialog (Widget parent); | |
1595 extern Widget create_search_dialog (Widget parent); | |
1596 extern Widget create_project_display_dialog (Widget parent); | |
1597 | |
1598 static Widget | |
1599 make_one (widget_instance* instance, widget_maker fn) | |
1600 { | |
1601 Widget result; | |
1602 Arg al [64]; | |
1603 int ac = 0; | |
1604 | |
1605 if (instance->pop_up_p) | |
1606 { | |
1607 XtSetArg (al [ac], XmNallowShellResize, TRUE); ac++; | |
1608 result = XmCreateDialogShell (instance->parent, "dialog", NULL, 0); | |
1609 XtAddCallback (result, XmNpopdownCallback, &xm_nosel_callback, | |
1610 (XtPointer) instance); | |
1611 (*fn) (result); | |
1612 } | |
1613 else | |
1614 { | |
1615 result = (*fn) (instance->parent); | |
1616 XtRealizeWidget (result); | |
1617 } | |
1618 return result; | |
1619 } | |
1620 | |
1621 static Widget | |
1622 make_project_p_sheet (widget_instance* instance) | |
1623 { | |
1624 return make_one (instance, create_project_p_sheet); | |
1625 } | |
1626 | |
1627 static Widget | |
1628 make_debugger_p_sheet (widget_instance* instance) | |
1629 { | |
1630 return make_one (instance, create_debugger_p_sheet); | |
1631 } | |
1632 | |
1633 static Widget | |
1634 make_breaklist_p_sheet (widget_instance* instance) | |
1635 { | |
1636 return make_one (instance, create_breaklist_p_sheet); | |
1637 } | |
1638 | |
1639 static Widget | |
1640 make_le_browser_p_sheet (widget_instance* instance) | |
1641 { | |
1642 return make_one (instance, create_le_browser_p_sheet); | |
1643 } | |
1644 | |
1645 static Widget | |
1646 make_class_browser_p_sheet (widget_instance* instance) | |
1647 { | |
1648 return make_one (instance, create_class_browser_p_sheet); | |
1649 } | |
1650 | |
1651 static Widget | |
1652 make_call_browser_p_sheet (widget_instance* instance) | |
1653 { | |
1654 return make_one (instance, create_call_browser_p_sheet); | |
1655 } | |
1656 | |
1657 static Widget | |
1658 make_build_dialog (widget_instance* instance) | |
1659 { | |
1660 return make_one (instance, create_build_dialog); | |
1661 } | |
1662 | |
1663 static Widget | |
1664 make_editmode_dialog (widget_instance* instance) | |
1665 { | |
1666 return make_one (instance, create_editmode_dialog); | |
1667 } | |
1668 | |
1669 static Widget | |
1670 make_search_dialog (widget_instance* instance) | |
1671 { | |
1672 return make_one (instance, create_search_dialog); | |
1673 } | |
1674 | |
1675 static Widget | |
1676 make_project_display_dialog (widget_instance* instance) | |
1677 { | |
1678 return make_one (instance, create_project_display_dialog); | |
1679 } | |
1680 | |
1681 #endif /* ENERGIZE */ | |
1682 | |
1683 widget_creation_entry | 1578 widget_creation_entry |
1684 xm_creation_table [] = | 1579 xm_creation_table [] = |
1685 { | 1580 { |
1686 #ifdef MENUBARS_MOTIF | 1581 #ifdef MENUBARS_MOTIF |
1687 {"menubar", make_menubar}, | 1582 {"menubar", make_menubar}, |
1689 #endif | 1584 #endif |
1690 #ifdef SCROLLBARS_MOTIF | 1585 #ifdef SCROLLBARS_MOTIF |
1691 {"vertical-scrollbar", make_vertical_scrollbar}, | 1586 {"vertical-scrollbar", make_vertical_scrollbar}, |
1692 {"horizontal-scrollbar", make_horizontal_scrollbar}, | 1587 {"horizontal-scrollbar", make_horizontal_scrollbar}, |
1693 #endif | 1588 #endif |
1694 #ifdef ENERGIZE | |
1695 {"project_p_sheet", make_project_p_sheet}, | |
1696 {"debugger_p_sheet", make_debugger_p_sheet}, | |
1697 {"breaklist_psheet", make_breaklist_p_sheet}, | |
1698 {"leb_psheet", make_le_browser_p_sheet}, | |
1699 {"class_browser_psheet", make_class_browser_p_sheet}, | |
1700 {"ctree_browser_psheet", make_call_browser_p_sheet}, | |
1701 {"build", make_build_dialog}, | |
1702 {"editmode", make_editmode_dialog}, | |
1703 {"search", make_search_dialog}, | |
1704 {"project_display", make_project_display_dialog}, | |
1705 #endif /* ENERGIZE */ | |
1706 {NULL, NULL} | 1589 {NULL, NULL} |
1707 }; | 1590 }; |
1708 | 1591 |
1709 /* Destruction of instances */ | 1592 /* Destruction of instances */ |
1710 void | 1593 void |
1892 } | 1775 } |
1893 | 1776 |
1894 static void | 1777 static void |
1895 xm_generic_callback (Widget widget, XtPointer closure, XtPointer call_data) | 1778 xm_generic_callback (Widget widget, XtPointer closure, XtPointer call_data) |
1896 { | 1779 { |
1897 #if !defined (ENERGIZE) && (defined (MENUBARS_MOTIF) || defined (DIALOGS_MOTIF)) | 1780 #if (defined (MENUBARS_MOTIF) || defined (DIALOGS_MOTIF)) |
1898 /* We want the selected status to change only when we decide it | 1781 /* We want the selected status to change only when we decide it |
1899 should change. Yuck but correct. */ | 1782 should change. Yuck but correct. */ |
1900 if (XtClass (widget) == xmToggleButtonWidgetClass | 1783 if (XtClass (widget) == xmToggleButtonWidgetClass |
1901 || XtClass (widget) == xmToggleButtonGadgetClass) | 1784 || XtClass (widget) == xmToggleButtonGadgetClass) |
1902 { | 1785 { |