Page 1 of 2 12 LastLast
Results 1 to 20 of 179

Thread: wwWidgets

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    I'm back now, so I can answer all the questions

    Quote Originally Posted by sunil.thaha View Post
    Since we are expecting the our private data to be derived from QwwPrivate. Why do the functions like d_func() use reinterpret_cast rather than a dynamic_cast ?
    1) Qt works exactly the same way
    2) dynamic cast is not needed as the component designer knows the class name, so there is no point of using dynamic cast because you can't access pimpl from outside the class anyway.
    3) dynamic_cast relies on RTTI from the compiler, so you'd want to avoid that if possible.

    Quote Originally Posted by pdolbey View Post
    I know you said not to to comment about "unstable" widgets,
    That was because some things may not work, so I didn't want to see comments like "X doesn't work" - I already know it doesn't work Any other comments on unstable widgets are welcome.

    but I had some minor success yesterday hacking the qwwnavigationbar component into some sort of stability.
    The navigation bar is stable, the problem with it is that you can't use its Designer plugin correctly, because of a major bug in Qt.

    I've got the primary functionality working with the PushButtons activating the correct QWidget in the top half of the splitter and have sucessfully "styled" the PushButtons to the original "Outlook" (silver version) look similar to my screen grab above but without the minimize bar. The question is if you want the code fed back - I've changed both the header (replacing the topButton with a QLabel) and cpp and have added pngs to the resource file. Any interest?
    Sure, let's have a look . I don't think you have to add any images to the resource file, as CSS capabilities from Qt should allow you to make use of external images. About the button in the header - you can access the button and disable its "clicking" functionality if you don't like it without modifying the actual class (or you can subclass of course).

    Quote Originally Posted by Teerayoot View Post
    How to install component?
    After i build ,i got wwwidgets4.dll and wwwidgets4.lib
    i put 2 files into qtdesigner plugin folder but nothing new component load.
    You should have run "nmake install" after the compilation. The dll needs to be present in both the lib directory (so that you can make use of the component from your applications) and in the bin directory (so that Designer can access it). Furthermore you should have the file "wwwidgets4plugin.dll" available as well and it should land in your plugins/designer folder (nmake install should take care of that).

    Quote Originally Posted by elcuco View Post
    On linux this creates a file called libwwwidgets4plugin.a, I was under the impression that the plugins should be *.so files...?
    Well... you should have received a .so file if you didn't stick any "static" keywords during preconfiguration. I'll have a look at the project file to see what might have gone wrong and I'll get back to you on that.

  2. #2
    Join Date
    Nov 2006
    Location
    Shrewsbury, UK
    Posts
    97
    Thanks
    3
    Thanked 11 Times in 11 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Talking Re: wwWidgets

    Quote Originally Posted by wysota View Post
    The navigation bar is stable, the problem with it is that you can't use its Designer plugin correctly, because of a major bug in Qt.
    Unfortunately, when you claimed the widget was unstable it wasn't clear what this meant. When I started testing it I used a test routine like this

    Qt Code:
    1. #include <QtGui>
    2. #include <qwwnavigationbar.h>
    3.  
    4. int main(int argc, char ** argv)
    5. {
    6. QApplication app(argc, argv);
    7. QMainWindow* win = new QMainWindow();
    8. QwwNavigationBar* nav = new QwwNavigationBar(win);
    9. nav->addWidget(new QFrame(), "First Widget");
    10. nav->addWidget(new QFrame(), "Second Widget");
    11. nav->addWidget(new QFrame(), "Third Widget");
    12. win->setCentralWidget(nav);
    13. win->show();
    14. return app.exec();
    15. }
    To copy to clipboard, switch view to plain text mode 

    which creates the screen window attached. The text for the second and third widgets was missing. This is when I started hacking . I believe I have a working solution, but as I can't be sure that this matches your original design, I'd rather PM the changes to you.

    Pete
    Attached Images Attached Images

  3. #3
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    AFAIR the titles are taken from the "windowTitle" property of widgets added to the bar (that's one of the workarounds for one of Qt Designer problems), so this should work:

    Qt Code:
    1. QwwNavigationBar* nav = new QwwNavigationBar(win);
    2. QFrame *frm = new QFrame;
    3. frm->setWindowTitle("First widget");
    4. nav->addWidget(frm);
    5. frm = new QFrame;
    6. frm->setWindowTitle("Second widget");
    7. nav->addWidget(frm);
    8. frm = new QFrame;
    9. frm->setWindowTitle("Third widget");
    10. nav->addWidget(frm);
    To copy to clipboard, switch view to plain text mode 

    The same goes for windowIcon property and the decoration of the button. I can't be certain the current code works this way (and I can't test it on this computer), but it is the way it was meant to work.

  4. #4
    Join Date
    Nov 2006
    Location
    Shrewsbury, UK
    Posts
    97
    Thanks
    3
    Thanked 11 Times in 11 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: wwWidgets

    Unfortunately that pattern isn't obvious from either the interface description, or from my initial test with only one button that worked "correctly". I could see that window titles were being used in the code, but I didn't realise that these were supposed to be the primary title source, and when I have specified text in my method call I would have expected it to have been displayed. Thats whay I thought the widget was inherenently unstable.

    Pete

  5. #5
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    Quote Originally Posted by pdolbey View Post
    Unfortunately that pattern isn't obvious from either the interface description, or from my initial test with only one button that worked "correctly". I could see that window titles were being used in the code, but I didn't realise that these were supposed to be the primary title source, and when I have specified text in my method call I would have expected it to have been displayed. Thats whay I thought the widget was inherenently unstable.
    That's why the widget is called "unstable" and the whole release "beta" The interface of the navigation bar will change a bit because some things will be done outside the widget and inside Designer (just like with the task panel). When this is done, the behaviour will be coherent.

  6. The following user says thank you to wysota for this useful post:

    pdolbey (5th May 2007)

  7. #6
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    Ok, I finally forced myself and published the next, (almost) fully usable beta of wwWidgets.

    http://www.wysota.eu.org/wwwidgets

    All comments are of course welcome.

    Oh... and of course a screenshot of some of the widgets.


  8. #7
    Join Date
    Nov 2006
    Location
    Shrewsbury, UK
    Posts
    97
    Thanks
    3
    Thanked 11 Times in 11 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: wwWidgets

    Building on Windows, I get

    Qt Code:
    1. 1>.\qwwfilechooser\qwwfilechooser.cpp(79) : error C3083: '{ctor}': the symbol to the left of a '::' must be a type
    2. 1>.\qwwfilechooser\qwwfilechooser.cpp(228) : error C3083: '{ctor}': the symbol to the left of a '::' must be a type
    To copy to clipboard, switch view to plain text mode 

    Both lines look like
    Qt Code:
    1. int mar = style()->pixelMetric(QStyle::QStyle::PM_DefaultFrameWidth, &opt, this);
    To copy to clipboard, switch view to plain text mode 

    Removing redundant "QStyle" fixes compilation, but I've now got some linker errors that I'm trying to sort out.

    P

  9. #8
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    Hmm... you're right, I don't know how the doubled QStyle happened to be there. If you define WW_NO_FILECHOOSER in the project file, those problems should vanish - the widget is not ready yet anyway... What exact linker errors do you get?

  10. #9
    Join Date
    Nov 2006
    Location
    Shrewsbury, UK
    Posts
    97
    Thanks
    3
    Thanked 11 Times in 11 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Question Re: wwWidgets

    Its the plugin that's giving the problem. The "widgets" project has created dll and lib files sucessfully. Running within Visual Studio, I get
    Qt Code:
    1. 1>------ Build started: Project: wwwidgets4plugin, Configuration: Debug Win32 ------
    2. 1>Linking...
    3. 1>LINK : warning LNK4044: unrecognized option '/L../widgets/release'; ignored
    4. 1>LINK : warning LNK4044: unrecognized option '/L../widgets/debug'; ignored
    5. 1> Creating library debug\wwwidgets4plugin.lib and object debug\wwwidgets4plugin.exp
    6. 1>colorlisteditor.obj : error LNK2019: unresolved external symbol
    7. public: __thiscall ColorModel::ColorModel(class QObject *)"
    8. (??0ColorModel@@QAE@PAVQObject@@@Z)
    9. referenced in function
    10. "public: __thiscall ColorListEditor::ColorListEditor(class QWidget *,class QFlags<enum Qt::WindowType>)"
    11. ??0ColorListEditor@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z
    12. 1>qwwcolorbuttoniface.obj : error LNK2001: unresolved external symbol
    13. "public: __thiscall ColorModel::ColorModel(class QObject *)"
    14. (??0ColorModel@@QAE@PAVQObject@@@Z)
    15. 1>qwwcolorcomboboxiface.obj : error LNK2001: unresolved external symbol
    16. "public: __thiscall ColorModel::ColorModel(class QObject *)"
    17. (??0ColorModel@@QAE@PAVQObject@@@Z)
    18. 1>colorlisteditor.obj : error LNK2019: unresolved external symbol
    19. "public: class QModelIndex __thiscall ColorModel::addColor(class QColor const &,class QString const &)"
    20. (?addColor@ColorModel@@QAE?AVQModelIndex@@ABVQColor@@ABVQString@@@Z)
    21. referenced in function
    22. "protected: void __thiscall ColorListEditor::setColorMap(void)" (?setColorMap@ColorListEditor@@IAEXXZ)
    23. 1>qwwcolorbuttoniface.obj : error LNK2001: unresolved external symbol
    24. "public: class QModelIndex __thiscall ColorModel::addColor(class QColor const &,class QString const &)"
    25. (?addColor@ColorModel@@QAE?AVQModelIndex@@ABVQColor@@ABVQString@@@Z)
    26. 1>qwwcolorcomboboxiface.obj : error LNK2001: unresolved external symbol
    27. "public: class QModelIndex __thiscall ColorModel::addColor(class QColor const &,class QString const &)"
    28. (?addColor@ColorModel@@QAE?AVQModelIndex@@ABVQColor@@ABVQString@@@Z)
    29. 1>qwwfilechooseriface.obj : error LNK2019: unresolved external symbol
    30. "public: __thiscall QwwFileChooser::QwwFileChooser(class QWidget *)"
    31. (??0QwwFileChooser@@QAE@PAVQWidget@@@Z) referenced in function
    32. "public: virtual class QWidget * __thiscall QwwFileChooserIface::createWidget(class QWidget *)"
    33. (?createWidget@QwwFileChooserIface@@UAEPAVQWidget@@PAV2@@Z)
    34. 1>qwwrichtextbuttoniface.obj : error LNK2019: unresolved external symbol
    35. "public: __thiscall QwwRichTextButton::QwwRichTextButton(class QWidget *)"
    36. (??0QwwRichTextButton@@QAE@PAVQWidget@@@Z) referenced in function
    37. "public: virtual class QWidget * __thiscall QwwRichTextButtonIface::createWidget(class QWidget *)"
    38. (?createWidget@QwwRichTextButtonIface@@UAEPAVQWidget@@PAV2@@Z)
    39. 1>qwwtextspinboxiface.obj : error LNK2019: unresolved external symbol
    40. "public: __thiscall QwwTextSpinBox::QwwTextSpinBox(class QWidget *)"
    41. (??0QwwTextSpinBox@@QAE@PAVQWidget@@@Z) referenced in function
    42. "public: virtual class QWidget * __thiscall QwwTextSpinBoxIface::createWidget(class QWidget *)"
    43. (?createWidget@QwwTextSpinBoxIface@@UAEPAVQWidget@@PAV2@@Z)
    44. 1>debug\wwwidgets4plugin.dll : fatal error LNK1120: 5 unresolved externals
    To copy to clipboard, switch view to plain text mode 

    ...but I wouldn't loose any sleep over it tonight.

    Pete

  11. #10
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default wwWidgets 0.8 available

    I'm pleased to announce the immediate availability of wwWidgets 0.8

    The main effort has been put on compilability with gcc, msvc and mingw and compatibility with Qt4.4. Apart from obtaining those goals (at least I hope so), the set is extended with new widgets such as:

    QRichTextEdit - a widget that turns QTextEdit into a usable selfsufficient rich text editor


    QwwButtonLineEdit - a lineedit class that combines the line edit with a programmable button.


    Derived widgets such as QwwClearLineEdit, QwwResetLineEdit and QwwFileChooser are also available.


    Full capabilities and full Designer integration is available for very recent (late January 2007) snapshots of Qt 4.4, but the whole set should compile with earlier snapshots as well as Qt 4.3 and Qt 4.2.

    Please note that though wwWidgets are fully usable, the version 1.0 has not been reached yet and so the API and ABI may (and probably will) change in future releases.

    The website has not yet been fully updated with docs and descriptions. In any doubt, please ask questions - I will gladly answer them.

    Visit http://www.wysota.eu.org/wwwidgets for more details and download. Binary releases of the set may be available upon request.

    All comments and other feedback is greatly appreciated.

  12. #11
    Join Date
    Nov 2006
    Location
    Shrewsbury, UK
    Posts
    97
    Thanks
    3
    Thanked 11 Times in 11 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: wwWidgets

    wysota,

    As you must realize, I await these release eagerly. However your website doesn't seem to responding at the moment.

    Pete

  13. #12
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    Hmm... really? It works fine for me.

    Attached you'll find the 0.8 source code archive in case you continue to be unable to access the website.
    Attached Files Attached Files

  14. The following user says thank you to wysota for this useful post:

    pdolbey (28th January 2008)

  15. #13
    Join Date
    Feb 2007
    Location
    Philadelphia, USA
    Posts
    255
    Thanks
    43
    Thanked 21 Times in 21 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: wwWidgets

    Everything works great with MinGW. However, when I try to compile/install using msvc, I have some problems.

    I did:

    qmake
    nmake
    nmake install

    Everything seems fine, but when I compile and run an example, it complains that it is missing mingw dll. ???!

    So, I tried to link directly to the library (i.e. not using CONFIG += wwwidgets) and everything worked fine. So it must be a problem with wwwidgets.prf with msvc. ??

    I am using Qt 4.3.3

  16. #14
    Join Date
    Nov 2006
    Location
    Shrewsbury, UK
    Posts
    97
    Thanks
    3
    Thanked 11 Times in 11 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: wwWidgets

    Quote Originally Posted by wysota View Post
    Hmm... really? It works fine for me.

    Attached you'll find the 0.8 source code archive in case you continue to be unable to access the website.
    I'm on a highly restricted environment at work, having to run the internet via Citrix, but I don't normally receive the tcp timeout error I got unless the target site is unavailable. Anyway thanks for putting the release out as an attachment. I'll grab it from my home machine later - and see if your web site is reachable from home. I'll only add to this thread if it isn't.

    Pete

  17. #15
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default wwWidgets 0.9.5 available

    I'm very happy to announce the immediate availability of wwWidgets 0.9.5

    This is one of the last steps towards the 1.0 release. Since 0.9 the API is practically frozen, so no new widgets are introduced. This release deals mostly with documentation and installation issues.

    Special thanks goes to Paul Buhr who provided feedback related to installing the set on MacOSX. If the patch is correct (I had no means to test it) the library should install (more or less) cleanly on all three major platforms.

    Remaining steps until 1.0:
    • implementation of QwwRichTextEdit (icon issues, list issues)
    • missing documentation
    • examples
    • qconfig like defines to strip out functionality easily


    When 1.0 is released, new widgets will start making it into the set so keep your fingers crossed.
    Upcoming widgets:
    • a breadcrumb widget
    • a marquee widget
    • an image viewer
    • a calendar button
    • a progress/waiting notifier (the circle shaped thing stumbling through many modern websites)
    • IP line edit
    • and more...





    Installation instructions:
    qmake
    make
    make install # superuser privs required
    make register
    Update instructions:
    qmake
    cd widgets # install the widget set first before compiling the plugin
    qmake
    make
    make install # superuser privs required
    cd ..
    make
    make install # superuser privs required
    make register
    The last step is only required if you use Qt4.4 or newer. It registers the compressed help documentation with your Qt Assistant.

    All feedback is welcome and appreciated!

  18. #16
    Join Date
    Mar 2008
    Posts
    141
    Thanks
    10
    Thanked 9 Times in 9 Posts

    Default Re: wwWidgets 0.9.5 available

    Quote Originally Posted by wysota View Post
    All feedback is welcome and appreciated!

    • If I use the Oxygen Style on linux the height of all lineEdits is not correct (its very narow).
    • Is it possibel to ship translations together with the source (like the qt translations)?


    great widgets, thx :-)

  19. #17
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets 0.9.5 available

    Quote Originally Posted by janus View Post
    If I use the Oxygen Style on linux the height of all lineEdits is not correct (its very narow).
    I'm aware of that but that's unfortunately a bug in Oxygen that's causing this. The problem is the bevel in line edits in Oxygen is treated as if it was inside the text box's rectangle and not outside.

    Is it possibel to ship translations together with the source (like the qt translations)?
    If there were such translations, they would probably be shipped. If you provide them, I'll be happy to include them in the next release.

    great widgets, thx :-)
    You're welcome
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  20. #18
    Join Date
    Feb 2008
    Posts
    157
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: wwWidgets

    Do you except feature requests?

    I require something which could be called doubleExponentialSpinBox. That should be a SpinBox that excepts double values but displays them as "1234.0234 e -123".
    The Buttons should then increase either the value or the exponential depending on the position of the cursor.
    I require this very often since I am a physicist and deal with high exponential values quite often. However it is not possible to display these in any standard spinbox.

    Matthias

  21. #19
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: wwWidgets

    Quote Originally Posted by pospiech View Post
    Do you except feature requests?
    Sure, why not.

    I require something which could be called doubleExponentialSpinBox. That should be a SpinBox that excepts double values but displays them as "1234.0234 e -123".
    This can be done with the regular double spinbox by reimplementing two methods.

    The Buttons should then increase either the value or the exponential depending on the position of the cursor.
    Ah.. I see... seems nice, I'll look into it.

  22. #20
    Join Date
    Mar 2008
    Posts
    141
    Thanks
    10
    Thanked 9 Times in 9 Posts

    Default Re: wwWidgets

    Hi,

    i build wwWidgets on Win XP (Qt 4.4.1 and MinGW) without any problem. But when I do 'make install' I get this error
    Qt Code:
    1. mingw32-make[1]: Leaving directory `C:/Dokumente und Einstellungen/Kathi/Desktop/wwWidgets-0.8/wwwidgets/plugin'
    2. copy /y c:\Dokumente und Einstellungen\Kathi\Desktop\wwWidgets-0.8\wwwidgets\widgets\wwglobal.h c:\Qt\4.4.1\include\wwWidgets
    3. Das System kann die angegebene Datei nicht finden.
    4. mingw32-make: [install_flat_headers] Error 1 (ignored)
    5. copy /y c:\Dokumente und Einstellungen\Kathi\Desktop\wwWidgets-0.8\wwwidgets\widgets\qwwcolorbutton\qwwcolorbutton.h c:\Qt\4.4.1\include\wwWidgets
    6. Das System kann die angegebene Datei nicht finden.
    7. mingw32-make: [install_flat_headers] Error 1 (ignored)
    To copy to clipboard, switch view to plain text mode 

    It means 'The system can't find the file' ...
    The folders in Qt/include/wwwidgets etc. are created but the files are not copied. Any idea? thx

Similar Threads

  1. wwWidgets
    By mickey in forum Qt Programming
    Replies: 22
    Last Post: 17th July 2006, 15:20

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.