From: <jo...@us...> - 2014-01-30 00:45:55
|
Revision: 9229 http://sourceforge.net/p/planeshift/code/9229 Author: joelyon Date: 2014-01-30 00:45:50 +0000 (Thu, 30 Jan 2014) Log Message: ----------- -Moved activemagic variables back to private and implemented Get & Set functions as I should have done in the first place. -implemented config read/write consistent with that used in shortcut & its config. Modified Paths: -------------- trunk/src/client/gui/pawsactivemagicwindow.cpp trunk/src/client/gui/pawsactivemagicwindow.h trunk/src/client/gui/pawsconfigactivemagic.cpp trunk/src/client/gui/pawsconfigshortcut.cpp Modified: trunk/src/client/gui/pawsactivemagicwindow.cpp =================================================================== --- trunk/src/client/gui/pawsactivemagicwindow.cpp 2014-01-28 17:06:09 UTC (rev 9228) +++ trunk/src/client/gui/pawsactivemagicwindow.cpp 2014-01-30 00:45:50 UTC (rev 9229) @@ -51,6 +51,8 @@ lastIndex(0), configPopup(NULL) { + vfs = csQueryRegistry<iVFS > ( PawsManager::GetSingleton().GetObjectRegistry()); + OnResize(); //get orientation set correctly } @@ -194,6 +196,12 @@ } rowEntry.PushBack(incoming.name[i]); + if( incoming.image[i] == "none" ) + { + //do not show any icon or text in activemagic window - this suppresses display of things like potions or etc. + continue; + } + if(useImages) { csRef<iPawsImage> image; @@ -324,71 +332,127 @@ bool pawsActiveMagicWindow::LoadSetting() { csRef<iDocument> doc; - csRef<iDocumentNode> root,activeMagicNode, activeMagicOptionsNode; - csString option; + csRef<iDocumentNode> root,mainNode, optionNode; + csString fileName; + fileName = "/planeshift/userdata/options/configactivemagic.xml"; - doc = ParseFile(psengine->GetObjectRegistry(), CONFIG_ACTIVEMAGIC_FILE_NAME); + if(!vfs->Exists(fileName)) + { + return false; //no saved config to load. + } + + doc = ParseFile(PawsManager::GetSingleton().GetObjectRegistry(), fileName); if(doc == NULL) { - //load the default configuration file in case the user one fails (missing or damaged) - doc = ParseFile(psengine->GetObjectRegistry(), CONFIG_ACTIVEMAGIC_FILE_NAME_DEF); - if(doc == NULL) - { - Error2("Failed to parse file %s", CONFIG_ACTIVEMAGIC_FILE_NAME_DEF); - return false; - } + Error2("pawsActiveMagicWindow::LoadUserPrefs Failed to parse file %s", fileName.GetData()); + return false; } - root = doc->GetRoot(); if(root == NULL) { - Error1("activemagic_def.xml or activemagic.xml has no XML root"); + Error2("pawsActiveMagicWindow::LoadUserPrefs : %s has no XML root",fileName.GetData()); return false; } - - activeMagicNode = root->GetNode("activemagic"); - if(activeMagicNode == NULL) + mainNode = root->GetNode("activemagic"); + if(mainNode == NULL) { - Error1("activemagic_def.xml or activemagic.xml has no <activemagic> tag"); + Error2("pawsActiveMagicWindow::LoadUserPrefs %s has no <activemagic> tag",fileName.GetData()); return false; } - // Load options for Active Magic Window - activeMagicOptionsNode = activeMagicNode->GetNode("activemagicoptions"); - if(activeMagicOptionsNode != NULL) + optionNode = mainNode->GetNode("useImages"); + if(optionNode != NULL) { - csRef<iDocumentNodeIterator> oNodes = activeMagicOptionsNode->GetNodes(); - while(oNodes->HasNext()) + if( strcasecmp( "yes", optionNode->GetAttributeValue("on") )==0 ) { - csRef<iDocumentNode> option = oNodes->Next(); - csString nodeName(option->GetValue()); + SetUseImages( true ); + } + else + { + SetUseImages( false ); + } + } - if(nodeName == "showWindow") - showWindow->SetState(!option->GetAttributeValueAsBool("value")); + optionNode = mainNode->GetNode("autoResize"); + if(optionNode != NULL) + { + if( strcasecmp( "yes", optionNode->GetAttributeValue("on") )==0 ) + { + SetAutoResize( true ); } + else + { + SetAutoResize( false ); + } } + optionNode = mainNode->GetNode("showEffects"); + if(optionNode != NULL) + { + if( strcasecmp( "itemAndSpell", optionNode->GetAttributeValue("active") )==0 ) + { + SetShowEffects( true ); + } + else + { + SetShowEffects( false ); + } + } + + optionNode = mainNode->GetNode("showWindow"); + if(optionNode != NULL) + { + if( strcasecmp( "yes", optionNode->GetAttributeValue("on") )==0 ) + { + SetShowWindow( true ); + } + else + { + SetShowWindow( false ); + } + } + return true; } void pawsActiveMagicWindow::SaveSetting() { - csRef<iFile> file; - file = psengine->GetVFS()->Open(CONFIG_ACTIVEMAGIC_FILE_NAME,VFS_FILE_WRITE); +} - csRef<iDocumentSystem> docsys; - docsys.AttachNew(new csTinyDocumentSystem()); +void pawsActiveMagicWindow::SetShowEffects( bool setting ) +{ + showEffects=setting; +} +bool pawsActiveMagicWindow::GetShowEffects() +{ + return showEffects; +} - csRef<iDocument> doc = docsys->CreateDocument(); - csRef<iDocumentNode> root,defaultRoot, activeMagicNode, activeMagicOptionsNode, showWindowNode; +void pawsActiveMagicWindow::SetUseImages( bool setting ) +{ + useImages=setting; +} +bool pawsActiveMagicWindow::GetUseImages() +{ + return useImages; +} - root = doc->CreateRoot(); - activeMagicNode = root->CreateNodeBefore(CS_NODE_ELEMENT, 0); - activeMagicNode->SetValue("activemagic"); +void pawsActiveMagicWindow::SetAutoResize( bool setting ) +{ + autoResize=setting; +} +bool pawsActiveMagicWindow::GetAutoResize() +{ + return autoResize; +} - activeMagicOptionsNode = activeMagicNode->CreateNodeBefore(CS_NODE_ELEMENT, 0); - activeMagicOptionsNode->SetValue("activemagicoptions"); - - doc->Write(file); +void pawsActiveMagicWindow::SetShowWindow( bool setting ) +{ + show=setting; + showWindow->SetState(setting); } +bool pawsActiveMagicWindow::GetShowWindow() +{ + return show; +} Modified: trunk/src/client/gui/pawsactivemagicwindow.h =================================================================== --- trunk/src/client/gui/pawsactivemagicwindow.h 2014-01-28 17:06:09 UTC (rev 9228) +++ trunk/src/client/gui/pawsactivemagicwindow.h 2014-01-30 00:45:50 UTC (rev 9229) @@ -71,12 +71,27 @@ */ pawsCheckBox* showWindow; + void SetUseImages( bool setting ); + bool GetUseImages(); + + void SetAutoResize( bool setting ); + bool GetAutoResize(); + + void SetShowEffects( bool setting ); + bool GetShowEffects(); + + void SetShowWindow( bool setting ); + bool GetShowWindow(); + +private: + + csRef<iVFS> vfs; + bool useImages, autoResize, showEffects, show; ///<true==show spell & item effects; false==show spell effects but not item effects -private: pawsScrollMenu* buffList; uint32_t lastIndex; ///<Version number of the last list received Modified: trunk/src/client/gui/pawsconfigactivemagic.cpp =================================================================== --- trunk/src/client/gui/pawsconfigactivemagic.cpp 2014-01-28 17:06:09 UTC (rev 9228) +++ trunk/src/client/gui/pawsconfigactivemagic.cpp 2014-01-30 00:45:50 UTC (rev 9229) @@ -104,10 +104,10 @@ bool pawsConfigActiveMagic::LoadConfig() { - useImages->SetState( ActiveMagicWindow->useImages ); - autoResize->SetState( ActiveMagicWindow->autoResize ); - showEffects->SetActive( ActiveMagicWindow->showEffects?"itemAndSpell":"spellOnly" ); - autoResize->SetState( ActiveMagicWindow->showWindow ); + useImages->SetState( ActiveMagicWindow->GetUseImages() ); + autoResize->SetState( ActiveMagicWindow->GetAutoResize() ); + showEffects->SetActive( ActiveMagicWindow->GetShowEffects()?"itemAndSpell":"spellOnly" ); + showWindow->SetState( ActiveMagicWindow->IsVisible() ); loaded= true; dirty = false; @@ -158,8 +158,8 @@ { case 1000 : //spell effects only { - ActiveMagicWindow->showEffects=0; - if( ActiveMagicWindow->autoResize ) + ActiveMagicWindow->SetShowEffects(false); + if( ActiveMagicWindow->GetAutoResize() ) { ActiveMagicWindow->AutoResize(); } @@ -168,8 +168,8 @@ case 1001 : //Item and spell effects { - ActiveMagicWindow->showEffects=1; - if( ActiveMagicWindow->autoResize ) + ActiveMagicWindow->SetShowEffects(true); + if( ActiveMagicWindow->GetAutoResize() ) { ActiveMagicWindow->AutoResize(); } @@ -178,8 +178,8 @@ case 1002 : // use icons (true) or text (false)? { - ActiveMagicWindow->useImages=useImages->GetState(); - if( ActiveMagicWindow->autoResize ) + ActiveMagicWindow->SetUseImages(useImages->GetState()); + if( ActiveMagicWindow->GetAutoResize() ) { ActiveMagicWindow->AutoResize(); } @@ -188,8 +188,8 @@ case 1003 : // auto- or manual sizing { - ActiveMagicWindow->autoResize=autoResize->GetState(); - if( ActiveMagicWindow->autoResize ) + ActiveMagicWindow->SetAutoResize(autoResize->GetState()); + if( ActiveMagicWindow->GetAutoResize() ) { ActiveMagicWindow->AutoResize(); } @@ -198,9 +198,9 @@ case 1004 : // enable or disable the window { - ActiveMagicWindow->show=showWindow->GetState(); + ActiveMagicWindow->SetShowWindow(showWindow->GetState()); pawsWidget* widget = PawsManager::GetSingleton().FindWidget( "ActiveMagicWindow" ); - if( ActiveMagicWindow->show ) + if( ActiveMagicWindow->GetShowWindow() ) { widget->Show(); } Modified: trunk/src/client/gui/pawsconfigshortcut.cpp =================================================================== --- trunk/src/client/gui/pawsconfigshortcut.cpp 2014-01-28 17:06:09 UTC (rev 9228) +++ trunk/src/client/gui/pawsconfigshortcut.cpp 2014-01-30 00:45:50 UTC (rev 9229) @@ -70,7 +70,6 @@ bool pawsConfigShortcut::PostSetup() { -fprintf( stderr, "pawsConfigShortcut::PostSetup starts\n" ); //get pointers to Shortcut Menu and its Menu Bar psMainWidget* Main = psengine->GetMainWidget(); if( Main==NULL ) @@ -184,13 +183,11 @@ textSpacing->SetMaxValue(20); -fprintf( stderr, "pawsConfigShortcut::PostSetup ends\n" ); return true; } bool pawsConfigShortcut::LoadConfig() { -fprintf( stderr, "pawsConfigShortcut::LoadConfig starts\n" ); buttonHeight->SetCurrentValue( MenuBar->GetButtonHeight() ); if( MenuBar->GetButtonWidth()==0 ) @@ -278,7 +275,6 @@ { //const char * buttonFontName = MenuBar->GetButtonFontName(); const char * buttonFontName = ((pawsShortcutWindow*)ShortcutMenu)->GetFontName(); -fprintf( stderr, "pawsConfigShortcut::LoadConfig found font %s\n", buttonFontName); if( strcmp( buttonFontName, "/planeshift/data/ttf/LiberationSans-Regular.ttf")==0 || strcmp( buttonFontName, "/this/data/ttf/LiberationSans-Regular.ttf")==0 ) { textFont->Select(0); @@ -311,14 +307,12 @@ loaded= true; dirty = false; -fprintf( stderr, "pawsConfigShortcut::LoadConfig ends\n" ); return true; } bool pawsConfigShortcut::SaveConfig() { -fprintf(stderr, "pawsConfigShortcut::SaveConfig starts\n" ); csString xml; xml = "<shortcut>\n"; xml.AppendFmt("<buttonHeight value=\"%d\" />\n", @@ -349,21 +343,17 @@ dirty = false; -fprintf(stderr, "pawsConfigShortcut::SaveConfig ends\n" ); return psengine->GetVFS()->WriteFile("/planeshift/userdata/options/configshortcut.xml", xml,xml.Length()); } void pawsConfigShortcut::SetDefault() { -fprintf( stderr, "pawsConfigShortcut::SetDefault starts\n" ); LoadConfig(); -fprintf( stderr, "pawsConfigShortcut::SetDefault ends\n" ); } bool pawsConfigShortcut::OnScroll(int /*scrollDir*/, pawsScrollBar* wdg) { -fprintf( stderr, "pawsConfigShortcut::OnScroll starts\n" ); //dirty = true; if(wdg == buttonWidth && loaded) @@ -404,13 +394,11 @@ MenuBar->LayoutButtons(); MenuBar->OnResize(); ((pawsShortcutWindow*)ShortcutMenu)->Draw(); -fprintf( stderr, "pawsConfigShortcut::OnScroll ends\n" ); return true; } bool pawsConfigShortcut::OnButtonPressed(int /*button*/, int /*mod*/, pawsWidget* wdg) { -fprintf( stderr, "pawsConfigShortcut::OnButtonPressed starts\n" ); dirty = true; @@ -546,7 +534,6 @@ SaveConfig(); } -fprintf( stderr, "pawsConfigShortcut::OnButtonPressed ends\n" ); return true; } @@ -612,19 +599,15 @@ void pawsConfigShortcut::Show() { -fprintf( stderr,"pawsConfigShortcut::Show starts\n" ); pawsWidget::Show(); -fprintf( stderr,"pawsConfigShortcut::Show ends\n" ); } void pawsConfigShortcut::Hide() { -fprintf( stderr,"pawsConfigShortcut::Hide starts\n" ); if(dirty) { } pawsWidget::Hide(); -fprintf( stderr,"pawsConfigShortcut::Hide end\n" ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |