Author: sh-sh-sh Date: Wed Feb 6 16:09:13 2008 New Revision: 44200 URL: http://svn.opensuse.org/viewcvs/yast?rev=44200&view=rev Log: moved from YUI to YApplication Modified: trunk/core/libyui/src/YApplication.cc trunk/core/libyui/src/YApplication.h trunk/core/libyui/src/YCPDialogParser.cc trunk/core/libyui/src/YLayoutBox.cc trunk/core/libyui/src/YSpacing.cc trunk/core/libyui/src/YUI.h trunk/core/libyui/src/YUI_builtins.cc trunk/core/libyui/src/YUI_core.cc trunk/core/libyui/src/YWidgetFactory.cc trunk/qt/src/YQApplication.cc trunk/qt/src/YQApplication.h trunk/qt/src/YQUI_x11.cc Modified: trunk/core/libyui/src/YApplication.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YApplication.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YApplication.cc (original) +++ trunk/core/libyui/src/YApplication.cc Wed Feb 6 16:09:13 2008 @@ -38,10 +38,12 @@ { YApplicationPrivate() : productName( "openSUSE" ) + , reverseLayout( false ) {} string iconBasePath; string productName; + bool reverseLayout; YFunctionKeyMap defaultFunctionKey; }; @@ -98,6 +100,19 @@ } +void +YApplication::setReverseLayout( bool reverse ) +{ + priv->reverseLayout = reverse; +} + + +bool YApplication::reverseLayout() const +{ + return priv->reverseLayout; +} + + int YApplication::defaultFunctionKey( const string & label ) const { @@ -190,6 +205,20 @@ int +YApplication::deviceUnits( YUIDimension dim, float layoutUnits ) +{ + return (int) ( layoutUnits + 0.5 ); +} + + +float +YApplication::layoutUnits( YUIDimension dim, int deviceUnits ) +{ + return (float) deviceUnits; +} + + +int YApplication::runInTerminal ( const string & module ) { yuiError() << "Not in text mode: Cannot run external program in terminal." << endl; Modified: trunk/core/libyui/src/YApplication.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YApplication.h?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YApplication.h (original) +++ trunk/core/libyui/src/YApplication.h Wed Feb 6 16:09:13 2008 @@ -232,7 +232,7 @@ * used. * * Derived classes can overwrite this method, but they should call this - * base class method at the beginning of the new implementation. + * base class method in the new implementation. **/ virtual void setProductName( const string & productName ); @@ -241,6 +241,36 @@ **/ string productName() const; + /** + * Convert logical layout spacing units into device dependent units. + * A default size dialog is assumed to be 80x25 layout spacing units. + * + * Derived classes may want to reimplement this method. + **/ + virtual int deviceUnits( YUIDimension dim, float layoutUnits ); + + /** + * Convert device dependent units into logical layout spacing units. + * A default size dialog is assumed to be 80x25 layout spacing units. + * + * Derived classes may want to reimplement this method. + **/ + virtual float layoutUnits( YUIDimension dim, int deviceUnits ); + + /** + * Set reverse layout for Arabic / Hebrew support. + * + * Derived classes can overwrite this method, but they should call this + * base class method in the new implementation. + **/ + virtual void setReverseLayout( bool reverse ); + + /** + * Returns 'true' if widget geometry should be reversed for languages that + * have right-to-left writing direction (Arabic, Hebrew). + **/ + bool reverseLayout() const; + // // Display information. Modified: trunk/core/libyui/src/YCPDialogParser.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YCPDialogParser.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YCPDialogParser.cc (original) +++ trunk/core/libyui/src/YCPDialogParser.cc Wed Feb 6 16:09:13 2008 @@ -33,6 +33,7 @@ #include "YCPDialogParser.h" #include "YUI.h" +#include "YApplication.h" #include "YCP_util.h" #include "YUISymbols.h" #include "YWidget.h" @@ -581,7 +582,7 @@ THROW_BAD_ARGS( term ); } - if ( YUI::ui()->reverseLayout() ) + if ( YUI::app()->reverseLayout() ) { if ( horAlign == YAlignBegin ) horAlign = YAlignEnd; else if ( horAlign == YAlignEnd ) horAlign = YAlignBegin; Modified: trunk/core/libyui/src/YLayoutBox.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YLayoutBox.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YLayoutBox.cc (original) +++ trunk/core/libyui/src/YLayoutBox.cc Wed Feb 6 16:09:13 2008 @@ -27,6 +27,7 @@ #include "YAlignment.h" #include "YSpacing.h" #include "YUI.h" +#include "YApplication.h" using std::setw; @@ -372,7 +373,7 @@ calcSecondaryGeometry( newWidth, widths, x_pos ); } - if ( YUI::reverseLayout() ) + if ( YUI::app()->reverseLayout() ) { // Mirror the widget X geometry for languages with left-to-right // writing direction (Arabic, Hebrew). Modified: trunk/core/libyui/src/YSpacing.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YSpacing.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YSpacing.cc (original) +++ trunk/core/libyui/src/YSpacing.cc Wed Feb 6 16:09:13 2008 @@ -19,6 +19,7 @@ #include "YSpacing.h" #include "YUI.h" +#include "YApplication.h" struct YSpacingPrivate @@ -37,7 +38,7 @@ YSpacing::YSpacing( YWidget * parent, YUIDimension dim, bool stretchable, YLayoutSize_t layoutUnits ) : YWidget( parent ) - , priv( new YSpacingPrivate( dim, YUI::ui()->deviceUnits( dim, layoutUnits ) ) ) + , priv( new YSpacingPrivate( dim, YUI::app()->deviceUnits( dim, layoutUnits ) ) ) { YUI_CHECK_NEW( priv ); setStretchable( dim, stretchable ); Modified: trunk/core/libyui/src/YUI.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YUI.h?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YUI.h (original) +++ trunk/core/libyui/src/YUI.h Wed Feb 6 16:09:13 2008 @@ -192,43 +192,6 @@ void topmostConstructorHasFinished(); /** - * Issue an internal error. Derived UIs should overwrite this to display - * the error message in a suitable manner, e.g. open a popup (and wait for - * confirmation!). - * - * The default implementation writes the error message to stderr. - * Notice: This function does _not_ abort the program. - **/ - virtual void internalError( const char *msg ); - - /** - * Convert logical layout spacing units into device dependent units. - * A default size dialog is assumed to be 80x25 layout spacing units. - * - * Derived UI may want to reimplement this method. - **/ - virtual int deviceUnits( YUIDimension dim, float layout_units ); - - /** - * Convert device dependent units into logical layout spacing units. - * A default size dialog is assumed to be 80x25 layout spacing units. - * - * Derived UI may want to reimplement this method. - **/ - virtual float layoutUnits( YUIDimension dim, int device_units ); - - /** - * Returns 'true' if widget geometry should be reversed for languages that - * have right-to-left writing direction (Arabic, Hebrew). - **/ - static bool reverseLayout() { return _reverseLayout; } - - /** - * Set reverse layout for Arabic / Hebrew support - **/ - static void setReverseLayout( bool rev ) { _reverseLayout = rev; } - - /** * Running with threads? **/ bool runningWithThreads() const { return _withThreads; } @@ -549,12 +512,6 @@ bool _eventsBlocked; /** - * Returns 'true' if widget geometry should be reversed for languages that - * have right-to-left writing direction (Arabic, Hebrew). - **/ - static bool _reverseLayout; - - /** * The callback component previously set with setCallback(). **/ Y2Component * _callback; Modified: trunk/core/libyui/src/YUI_builtins.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YUI_builtins.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YUI_builtins.cc (original) +++ trunk/core/libyui/src/YUI_builtins.cc Wed Feb 6 16:09:13 2008 @@ -1633,33 +1633,6 @@ /** - * Default conversion from logical layout spacing units - * to device dependent units. - * - * This default function assumes 80x25 units. - * Derived UIs may want to reimplement this. - **/ -int YUI::deviceUnits( YUIDimension dim, float layout_units ) -{ - return (int) ( layout_units + 0.5 ); -} - - -/** - * Default conversion from device dependent layout spacing units - * to logical layout units. - * - * This default function assumes 80x25 units. - * Derived UIs may want to reimplement this. - **/ -float YUI::layoutUnits( YUIDimension dim, int device_units ) -{ - return (float) device_units; -} - - - -/** * @builtin Recode * @short Recodes encoding of string from or to "UTF-8" encoding. * @description Modified: trunk/core/libyui/src/YUI_core.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YUI_core.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YUI_core.cc (original) +++ trunk/core/libyui/src/YUI_core.cc Wed Feb 6 16:09:13 2008 @@ -58,7 +58,6 @@ typedef YCPValue (*v2vvvvv) (const YCPValue &, const YCPValue &, const YCPValue &, const YCPValue &, const YCPValue &); -bool YUI::_reverseLayout = false; YUI * YUI::_yui = 0; extern void *start_ui_thread( void * yui ); @@ -155,13 +154,6 @@ } -void -YUI::internalError( const char *msg ) -{ - fprintf( stderr, "YaST2 UI internal error: %s", msg ); -} - - void YUI::topmostConstructorHasFinished() { // The ui thread must not be started before the constructor Modified: trunk/core/libyui/src/YWidgetFactory.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/core/libyui/src/YWidgetFactory.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/core/libyui/src/YWidgetFactory.cc (original) +++ trunk/core/libyui/src/YWidgetFactory.cc Wed Feb 6 16:09:13 2008 @@ -20,6 +20,7 @@ #include "YAlignment.h" #include "YPushButton.h" #include "YUI.h" +#include "YApplication.h" YWidgetFactory::YWidgetFactory() @@ -165,10 +166,10 @@ { YAlignment * alignment = createAlignment( parent, YAlignUnchanged, YAlignUnchanged ); - alignment->setLeftMargin ( YUI::ui()->deviceUnits( YD_HORIZ, leftMargin ) ); - alignment->setRightMargin ( YUI::ui()->deviceUnits( YD_HORIZ, rightMargin ) ); - alignment->setTopMargin ( YUI::ui()->deviceUnits( YD_VERT, topMargin ) ); - alignment->setBottomMargin( YUI::ui()->deviceUnits( YD_VERT, bottomMargin ) ); + alignment->setLeftMargin ( YUI::app()->deviceUnits( YD_HORIZ, leftMargin ) ); + alignment->setRightMargin ( YUI::app()->deviceUnits( YD_HORIZ, rightMargin ) ); + alignment->setTopMargin ( YUI::app()->deviceUnits( YD_VERT, topMargin ) ); + alignment->setBottomMargin( YUI::app()->deviceUnits( YD_VERT, bottomMargin ) ); return alignment; } @@ -193,8 +194,8 @@ { YAlignment * alignment = createAlignment( parent, YAlignUnchanged, YAlignUnchanged ); - alignment->setMinWidth ( YUI::ui()->deviceUnits( YD_HORIZ, minWidth ) ); - alignment->setMinHeight( YUI::ui()->deviceUnits( YD_VERT, minHeight ) ); + alignment->setMinWidth ( YUI::app()->deviceUnits( YD_HORIZ, minWidth ) ); + alignment->setMinHeight( YUI::app()->deviceUnits( YD_VERT, minHeight ) ); return alignment; } Modified: trunk/qt/src/YQApplication.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQApplication.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/qt/src/YQApplication.cc (original) +++ trunk/qt/src/YQApplication.cc Wed Feb 6 16:09:13 2008 @@ -635,6 +635,39 @@ } +/** + * UI-specific conversion from logical layout spacing units (80x25) + * to device dependent units (640x480). + **/ +int +YQApplication::deviceUnits( YUIDimension dim, float layoutUnits ) +{ + if ( dim==YD_HORIZ ) layoutUnits *= ( 640.0/80 ); + else layoutUnits *= ( 480.0/25 ); + + return (int) ( layoutUnits + 0.5 ); +} + + +/** + * Default conversion from device dependent layout spacing units (640x480) + * to logical layout units (80x25). + * + * This default function assumes 80x25 units. + * Derived UIs may want to reimplement this. + **/ +float +YQApplication::layoutUnits( YUIDimension dim, int deviceUnits ) +{ + float size = (float) deviceUnits; + + if ( dim==YD_HORIZ ) size *= ( 80/640.0 ); + else size *= ( 25/480.0 ); + + return size; +} + + #include "YQApplication.moc" Modified: trunk/qt/src/YQApplication.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQApplication.h?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/qt/src/YQApplication.h (original) +++ trunk/qt/src/YQApplication.h Wed Feb 6 16:09:13 2008 @@ -217,7 +217,23 @@ * This status can be queried with YQApplication::leftHandedMouse(). **/ void maybeLeftHandedUser(); - + + /** + * Convert logical layout spacing units into device dependent units. + * A default size dialog is assumed to be 80x25 layout spacing units. + * + * Reimplemented from YApplication. + **/ + virtual int deviceUnits( YUIDimension dim, float layoutUnits ); + + /** + * Convert device dependent units into logical layout spacing units. + * A default size dialog is assumed to be 80x25 layout spacing units. + * + * Reimplemented from YApplication. + **/ + virtual float layoutUnits( YUIDimension dim, int deviceUnits ); + // Display information and UI capabilities. // Modified: trunk/qt/src/YQUI_x11.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQUI_x11.cc?rev=44200&r1=44199&r2=44200&view=diff ============================================================================== --- trunk/qt/src/YQUI_x11.cc (original) +++ trunk/qt/src/YQUI_x11.cc Wed Feb 6 16:09:13 2008 @@ -138,36 +138,5 @@ } -/** - * UI-specific conversion from logical layout spacing units (80x25) - * to device dependent units (640x480). - **/ -int YQUI::deviceUnits( YUIDimension dim, float size ) -{ - if ( dim==YD_HORIZ ) size *= ( 640.0/80 ); - else size *= ( 480.0/25 ); - - return (int) ( size + 0.5 ); -} - - -/** - * Default conversion from device dependent layout spacing units (640x480) - * to logical layout units (80x25). - * - * This default function assumes 80x25 units. - * Derived UIs may want to reimplement this. - **/ -float YQUI::layoutUnits( YUIDimension dim, int device_units ) -{ - float size = (float) device_units; - - if ( dim==YD_HORIZ ) size *= ( 80/640.0 ); - else size *= ( 25/480.0 ); - - return size; -} - - // EOF -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org