Author: kmachalkova
Date: Wed Feb 6 16:03:14 2008
New Revision: 44197
URL: http://svn.opensuse.org/viewcvs/yast?rev=44197&view=rev
Log:
Preliminary version with cut-off packager. It compiles
and somehow works (thanks a bunch, mvidner)
Added:
branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginIf.h
branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.cc
branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.h
Removed:
branches/tmp/bubli/ncurses/src/NCPackageSelectorPlugin.cc
branches/tmp/bubli/ncurses/src/NCPackageSelectorPlugin.h
branches/tmp/bubli/ncurses/src/pkg/
Modified:
branches/tmp/bubli/ncurses/src/Makefile.am
branches/tmp/bubli/ncurses/src/NCDialog.cc
branches/tmp/bubli/ncurses/src/NCPackageSelectorStart.cc
branches/tmp/bubli/ncurses/src/NCWidgetFactory.cc
branches/tmp/bubli/ncurses/src/NCWidgetFactory.h
branches/tmp/bubli/ncurses/src/YNCursesUI.cc
branches/tmp/bubli/ncurses/src/YNCursesUI.h
branches/tmp/bubli/ncurses/testsuite/Makefile.am
Modified: branches/tmp/bubli/ncurses/src/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/Makefile.am?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/Makefile.am (original)
+++ branches/tmp/bubli/ncurses/src/Makefile.am Wed Feb 6 16:03:14 2008
@@ -2,8 +2,6 @@
# Makefile.am for ncurses/src
#
-SUBDIRS = pkg
-
AM_CXXFLAGS = -DY2LOG=\"ui-ncurses\" -DLOCALEDIR=\"${localedir}\"
# plugin, libtool forces 'lib' prefix
@@ -24,7 +22,9 @@
# -lncursesw -lpanelw
#liby2ncurses_la_LIBADD = $(libpy2ncurses_la_LIBADD)
-noinst_HEADERS = \
+pkgincludedir = $(includedir)/ncurses
+
+pkginclude_HEADERS = \
stdutil.h \
NCi18n.h \
Y2Log.h \
@@ -36,9 +36,8 @@
NCWidgetFactory.h \
NCOptionalWidgetFactory.h \
\
- NCPackageSelectorPlugin.h \
- NCPackageSelectorStart.h \
- NCPkgTable.h \
+ NCPackageSelectorPluginStub.h \
+ NCPackageSelectorPluginIf.h \
NCtext.h \
NCstring.h \
stringutil.h \
@@ -98,6 +97,19 @@
Y2CCNCursesUI.h \
YNCursesComponent.h
+install-pkgincludeHEADERS: $(pkgi/nclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkgincludedir)
+ @list='$(pkginclude_HEADERS)'; \
+ for p in $$list; do \
+ if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
+ if ! cmp -s $$d$$p $(DESTDIR)$(pkgincludedir)/$$p; then \
+ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p"; \
+ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p; \
+ fi \
+ done
+
+
libpy2ncurses_la_SOURCES = \
Y2Log.cc \
position.cc \
@@ -107,9 +119,7 @@
NCWidgetFactory.cc \
NCOptionalWidgetFactory.cc \
\
- NCPackageSelectorPlugin.cc \
- NCPackageSelectorStart.cc \
- NCPkgTable.cc \
+ NCPackageSelectorPluginStub.cc \
\
NCtext.cc \
NCstring.cc \
Modified: branches/tmp/bubli/ncurses/src/NCDialog.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCDialog.cc?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCDialog.cc (original)
+++ branches/tmp/bubli/ncurses/src/NCDialog.cc Wed Feb 6 16:03:14 2008
@@ -1179,7 +1179,7 @@
pendingEvent = NCursesEvent::timeout;
break;
- case KEY_F(16):
+ case KEY_F(10):
const_cast(NCurses::style()).nextStyle();
NCurses::Redraw();
break;
Added: branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginIf.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginIf.h?rev=44197&view=auto
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginIf.h (added)
+++ branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginIf.h Wed Feb 6 16:03:14 2008
@@ -0,0 +1,41 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (c) SuSE Linux AG |
+\----------------------------------------------------------------------/
+
+ File: NCPackageSelectorPluginIf.h
+
+ Author: Hedgehog Painter
+
+
+/-*/
+
+#ifndef NCPackageSelectorPluginIf_h
+#define NCPackageSelectorPluginIf_h
+
+#include
+#include
+#include
+
+class NCPackageSelectorPluginIf
+{
+
+ public:
+
+ virtual ~NCPackageSelectorPluginIf() = 0;
+
+ virtual YPackageSelector *createPackageSelector( YWidget *parent, long modeFlags ) = 0 ;
+
+ virtual YEvent *runPkgSelection (YDialog *currentDialog, YWidget *packageSelector ) = 0;
+
+ virtual YWidget *createPkgSpecial (YWidget *parent, const string &subwidget ) = 0;
+
+};
+#endif
Added: branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.cc?rev=44197&view=auto
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.cc (added)
+++ branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.cc Wed Feb 6 16:03:14 2008
@@ -0,0 +1,99 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (c) SuSE Linux AG |
+\----------------------------------------------------------------------/
+
+ File: NCPackageSelectorPluginStub.cc
+
+ Author: Gabriele Mohr
+
+
+/-*/
+
+#include "NCPackageSelectorPluginStub.h"
+
+#include
+#include "Y2Log.h"
+#include "NCWidget.h"
+#include "NCLabel.h"
+#include "NCDialog.h"
+#include "NCPackageSelectorPluginIf.h"
+//#include "NCPackageSelectorStart.h"
+//#include "NCPkgTable.h"
+#include "YNCursesUI.h" // NCtoY2Event
+
+#define y2log_component "ncurses-ui"
+
+#define PLUGIN_BASE_NAME "ncurses_pkg"
+
+NCPackageSelectorPluginStub::NCPackageSelectorPluginStub()
+ : YPackageSelectorPlugin( PLUGIN_BASE_NAME )
+{
+ if ( success() )
+ {
+ y2milestone( "Loaded %s plugin successfully from %s",
+ PLUGIN_BASE_NAME, pluginLibFullPath().c_str() );
+ }
+
+
+ impl = (NCPackageSelectorPluginIf*) locateSymbol("PSP");
+}
+
+
+NCPackageSelectorPluginStub::~NCPackageSelectorPluginStub()
+{
+ // NOP
+}
+
+///////////////////////////////////////////////////////////////////
+//
+//
+// METHOD NAME : NCPackageSelectorPluginStub::createPackageSelector
+// METHOD TYPE : YWidget
+//
+// DESCRIPTION : Create NCPackageSelectorStart which reads the layout
+// term of the package selection dialog, creates the widget
+// tree and creates the NCPackageSelector.
+//
+YPackageSelector * NCPackageSelectorPluginStub::createPackageSelector( YWidget * parent,
+ long modeFlags )
+{
+ return impl->createPackageSelector( parent, modeFlags );
+}
+
+///////////////////////////////////////////////////////////////////
+//
+//
+// METHOD NAME : NCPackageSelectorPluign::createPkgSpecial
+// METHOD TYPE : YWidget
+//
+// DESCRIPTION : creates special widgets used for the package selection
+// dialog (which do not have a corresponding widget in qt-ui)
+//
+YWidget * NCPackageSelectorPluginStub::createPkgSpecial( YWidget *parent, const string &subwidget )
+{
+ return impl->createPkgSpecial( parent, subwidget );
+}
+
+///////////////////////////////////////////////////////////////////
+//
+//
+// METHOD NAME : NCPackageSelectorPLugin::runPkgSelection
+// METHOD TYPE : YEvent *
+//
+// DESCRIPTION : Implementation of UI builtin RunPkgSelection() which
+// has to be called after OpenDialog( `PackageSelector() ).
+//
+YEvent * NCPackageSelectorPluginStub::runPkgSelection( YDialog * dialog,
+ YWidget * selector )
+{
+ return impl->runPkgSelection( dialog, selector );
+}
+
Added: branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.h?rev=44197&view=auto
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.h (added)
+++ branches/tmp/bubli/ncurses/src/NCPackageSelectorPluginStub.h Wed Feb 6 16:03:14 2008
@@ -0,0 +1,79 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (c) SuSE Linux AG |
+\----------------------------------------------------------------------/
+
+ File: NCPackageSelectorPluginStub.h
+
+ Author: Gabriele Mohr
+
+/-*/
+
+// -*- c++ -*-
+
+#ifndef NCPackageSelectorPluginStub_h
+#define NCPackageSelectorPluginStub_h
+
+#include
+#include
+#include
+#include
+
+#include "NCPackageSelectorPluginIf.h"
+
+/**
+ * Simplified access to the ncurses UI's package selector plugin.
+ **/
+
+class NCPackageSelectorPluginIf;
+
+class NCPackageSelectorPluginStub: public YPackageSelectorPlugin
+{
+public:
+
+
+ /**
+ * Constructor: Load the plugin library for the NCurses package selector.
+ **/
+ NCPackageSelectorPluginStub();
+
+ /**
+ * Destructor. Calls dlclose() which will unload the plugin library if it
+ * is no longer used, i.e. if the reference count dlopen() uses reaches 0.
+ **/
+ virtual ~NCPackageSelectorPluginStub();
+
+ /**
+ * Create a package selector.
+ * Implemented from YPackageSelectorPlugin.
+ *
+ * This might return 0 if the plugin lib could not be loaded or if the
+ * appropriate symbol could not be located in the plugin lib.
+ **/
+ virtual YPackageSelector * createPackageSelector( YWidget * parent,
+ long modeFlags );
+
+ /**
+ * Fills the PackageSelector widget (runs the package selection).
+ */
+ virtual YEvent * runPkgSelection( YDialog *currentDialog,
+ YWidget * packageSelector );
+
+ /**
+ * Create a special widget
+ */
+ virtual YWidget * createPkgSpecial( YWidget *parent,
+ const string &subwidget );
+
+ NCPackageSelectorPluginIf *impl ;
+};
+
+
+#endif // NCPackageSelectorPluginStub_h
Modified: branches/tmp/bubli/ncurses/src/NCPackageSelectorStart.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCPackageSelectorStart.cc?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCPackageSelectorStart.cc (original)
+++ branches/tmp/bubli/ncurses/src/NCPackageSelectorStart.cc Wed Feb 6 16:03:14 2008
@@ -18,10 +18,10 @@
/-*/
#include "Y2Log.h"
#include "NCurses.h"
-#include "NCPackageSelectorStart.h"
+//#include "NCPackageSelectorStart.h"
#include "NCPushButton.h"
#include "NCSpacing.h"
-#include "NCPkgTable.h"
+//#include "NCPkgTable.h"
#include "NCLabel.h"
#include "NCPkgNames.h"
#include "NCi18n.h"
Modified: branches/tmp/bubli/ncurses/src/NCWidgetFactory.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCWidgetFactory.cc?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCWidgetFactory.cc (original)
+++ branches/tmp/bubli/ncurses/src/NCWidgetFactory.cc Wed Feb 6 16:03:14 2008
@@ -20,6 +20,8 @@
#include "NCWidgetFactory.h"
#include "YUIException.h"
+#include "Y2Log.h"
+#include "YNCursesUI.h"
#include <string>
@@ -375,7 +377,7 @@
// FIXME
//YNCursesUI::ui()->setAutoActivateDialogs( false );
- NCPackageSelectorPlugin * plugin = YNCursesUI::ui()->packageSelectorPlugin();
+ NCPackageSelectorPluginStub * plugin = YNCursesUI::ui()->packageSelectorPlugin();
if ( plugin )
return plugin->createPackageSelector( parent, modeFlags );
@@ -396,7 +398,7 @@
{
YWidget * w = 0;
- NCPackageSelectorPlugin * plugin = YNCursesUI::ui()->packageSelectorPlugin();
+ NCPackageSelectorPluginStub * plugin = YNCursesUI::ui()->packageSelectorPlugin();
if ( plugin )
{
Modified: branches/tmp/bubli/ncurses/src/NCWidgetFactory.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/NCWidgetFactory.h?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/NCWidgetFactory.h (original)
+++ branches/tmp/bubli/ncurses/src/NCWidgetFactory.h Wed Feb 6 16:03:14 2008
@@ -38,8 +38,8 @@
#include "NCMenuButton.h"
#include "NCMultiLineEdit.h"
#include "NCMultiSelectionBox.h"
-#include "NCPackageSelectorStart.h"
-#include "NCPackageSelectorPlugin.h"
+//#include "NCPackageSelectorStart.h"
+#include "NCPackageSelectorPluginStub.h"
#include "NCProgressBar.h"
#include "NCPushButton.h"
#include "NCRadioButton.h"
Modified: branches/tmp/bubli/ncurses/src/YNCursesUI.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/YNCursesUI.cc?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/YNCursesUI.cc (original)
+++ branches/tmp/bubli/ncurses/src/YNCursesUI.cc Wed Feb 6 16:03:14 2008
@@ -34,11 +34,11 @@
#include
#include
-#include "NCPackageSelectorStart.h"
+//#include "NCPackageSelectorStart.h"
#include "NCstring.h"
#include "NCWidgetFactory.h"
#include "NCOptionalWidgetFactory.h"
-#include "NCPackageSelectorPlugin.h"
+#include "NCPackageSelectorPluginStub.h"
extern string language2encoding( string lang );
@@ -195,13 +195,13 @@
//
// DESCRIPTION : Create the package selector plugin
//
-NCPackageSelectorPlugin * YNCursesUI::packageSelectorPlugin()
+NCPackageSelectorPluginStub * YNCursesUI::packageSelectorPlugin()
{
- static NCPackageSelectorPlugin * plugin = 0;
+ static NCPackageSelectorPluginStub * plugin = 0;
if ( ! plugin )
{
- plugin = new NCPackageSelectorPlugin();
+ plugin = new NCPackageSelectorPluginStub();
// This is a deliberate memory leak: If an application requires a
// PackageSelector, it is a package selection application by
@@ -227,7 +227,7 @@
YEvent * event = 0;
YDialog *dialog = YDialog::currentDialog();
- NCPackageSelectorPlugin * plugin = packageSelectorPlugin();
+ NCPackageSelectorPluginStub * plugin = packageSelectorPlugin();
if ( !dialog )
{
Modified: branches/tmp/bubli/ncurses/src/YNCursesUI.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/src/YNCursesUI.h?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/src/YNCursesUI.h (original)
+++ branches/tmp/bubli/ncurses/src/YNCursesUI.h Wed Feb 6 16:03:14 2008
@@ -32,7 +32,7 @@
class YUI;
class NCDialog;
-class NCPackageSelectorPlugin;
+class NCPackageSelectorPluginStub;
class NCWidgetFactory;
class NCOptionalWidgetFactory;
class YSingleChildContainerWidget;
@@ -133,7 +133,7 @@
* Returns the package selector plugin singleton of this UI or creates it
* (including loading the plugin lib) if it does not exist yet.
**/
- NCPackageSelectorPlugin * packageSelectorPlugin();
+ NCPackageSelectorPluginStub * packageSelectorPlugin();
/**
* UI-specific redrawScreen method.
Modified: branches/tmp/bubli/ncurses/testsuite/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/bubli/ncurses/testsuite/Makefile.am?rev=44197&r1=44196&r2=44197&view=diff
==============================================================================
--- branches/tmp/bubli/ncurses/testsuite/Makefile.am (original)
+++ branches/tmp/bubli/ncurses/testsuite/Makefile.am Wed Feb 6 16:03:14 2008
@@ -13,19 +13,18 @@
noinst_PROGRAMS = runcurses utf8test y2ncurses in_wch
runcurses_SOURCES = runcurses.cc
-runcurses_LDADD = ../src/libpy2ncurses.la ../src/pkg/libpy2ncurses_pkg.la \
+runcurses_LDADD = ../src/libpy2ncurses.la \
-lncurses -lpanel -lpthread -ly2 -L$(plugindir) -lpy2UI -lycp -lutil
runcurses_LDFLAGS = -L$(libdir) \
-Xlinker --whole-archive \
../src/libpy2ncurses.la \
- ../src/pkg/libpy2ncurses_pkg.la \
-Xlinker --no-whole-archive
utf8test_SOURCES = utf8test.cc \
NCstring_test.h NCstring_test.cc
-utf8test_LDADD = ../src/libpy2ncurses.la ../src/pkg/libpy2ncurses_pkg.la \
+utf8test_LDADD = ../src/libpy2ncurses.la \
-lncursesw -lpanelw -lpthread -ly2 -L$(plugindir) -lpy2UI -lycp -lutil
in_wch_SOURCES = in_wch.cc
@@ -41,7 +40,6 @@
-Xlinker --whole-archive \
$(plugindir)/libpy2wfm.la \
../src/libpy2ncurses.la \
- ../src/pkg/libpy2ncurses_pkg.la \
-Xlinker --no-whole-archive
clean-local:
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org