From: <zou...@us...> - 2007-11-30 18:30:30
|
Revision: 916 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=916&view=rev Author: zouzou123gen Date: 2007-11-30 10:30:26 -0800 (Fri, 30 Nov 2007) Log Message: ----------- WidgetTabView fixes (add & addWidget merged; active window check in WM_SETTEXT) Modified Paths: -------------- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2007-11-29 23:07:27 UTC (rev 915) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2007-11-30 18:30:26 UTC (rev 916) @@ -32,10 +32,7 @@ Seed(); }; - void add(WidgetChildWindow* w, const IconPtr& icon) { - addWidget(w, icon, w->getText(), w->getVisible()); - w->onTextChanging(std::tr1::bind(&WidgetTabView::handleTextChanging, this, w, _1)); - } + void add(WidgetChildWindow* w, const IconPtr& icon); void mark(WidgetChildWindow* w); @@ -109,7 +106,6 @@ void layout(); int addIcon(const IconPtr& icon); - void addWidget(WidgetChildWindow* w, const IconPtr& icon, const SmartUtil::tstring& title, bool visible); void swapWidgets(WidgetChildWindow* oldW, WidgetChildWindow* newW); }; Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2007-11-29 23:07:27 UTC (rev 915) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2007-11-30 18:30:26 UTC (rev 916) @@ -33,15 +33,15 @@ tab->onContextMenu(std::tr1::bind(&WidgetTabView::handleContextMenu, this, _1)); } -void WidgetTabView::addWidget(WidgetChildWindow* w, const IconPtr& icon, const SmartUtil::tstring& title, bool visible) { +void WidgetTabView::add(WidgetChildWindow* w, const IconPtr& icon) { int image = addIcon(icon); size_t tabs = tab->size(); TabInfo* ti = new TabInfo(w); - tab->addPage(cutTitle(title), tabs, reinterpret_cast<LPARAM>(ti), image); + tab->addPage(cutTitle(w->getText()), tabs, reinterpret_cast<LPARAM>(ti), image); viewOrder.push_front(w); - if(viewOrder.size() == 1 || visible) { + if(viewOrder.size() == 1 || w->getVisible()) { if(viewOrder.size() > 1) { swapWidgets(viewOrder.back(), w); } else { @@ -51,6 +51,8 @@ } layout(); + + w->onTextChanging(std::tr1::bind(&WidgetTabView::handleTextChanging, this, w, _1)); } WidgetChildWindow* WidgetTabView::getActive() { @@ -165,7 +167,7 @@ tab->setHeader(i, cutTitle(newText)); layout(); - if(titleChangedFunction) + if((i == active) && titleChangedFunction) titleChangedFunction(newText); } return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |