PageRenderTime 32ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/indra/newview/llsidepanelappearance.h

https://bitbucket.org/lindenlab/viewer-beta/
C Header | 103 lines | 54 code | 20 blank | 29 comment | 0 complexity | 69ea2f59f3788eb1f7976a965266ae84 MD5 | raw file
Possible License(s): LGPL-2.1
  1. /**
  2. * @file llsidepanelappearance.h
  3. * @brief Side Bar "Appearance" panel
  4. *
  5. * $LicenseInfo:firstyear=2009&license=viewerlgpl$
  6. * Second Life Viewer Source Code
  7. * Copyright (C) 2010, Linden Research, Inc.
  8. *
  9. * This library is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU Lesser General Public
  11. * License as published by the Free Software Foundation;
  12. * version 2.1 of the License only.
  13. *
  14. * This library is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  17. * Lesser General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Lesser General Public
  20. * License along with this library; if not, write to the Free Software
  21. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  22. *
  23. * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
  24. * $/LicenseInfo$
  25. */
  26. #ifndef LL_LLSIDEPANELAPPEARANCE_H
  27. #define LL_LLSIDEPANELAPPEARANCE_H
  28. #include "llpanel.h"
  29. #include "llinventoryobserver.h"
  30. #include "llinventory.h"
  31. #include "llpaneloutfitedit.h"
  32. class LLFilterEditor;
  33. class LLCurrentlyWornFetchObserver;
  34. class LLPanelEditWearable;
  35. class LLWearable;
  36. class LLPanelOutfitsInventory;
  37. class LLSidepanelAppearance : public LLPanel
  38. {
  39. LOG_CLASS(LLSidepanelAppearance);
  40. public:
  41. LLSidepanelAppearance();
  42. virtual ~LLSidepanelAppearance();
  43. /*virtual*/ BOOL postBuild();
  44. /*virtual*/ void onOpen(const LLSD& key);
  45. void refreshCurrentOutfitName(const std::string& name = "");
  46. static void editWearable(LLWearable *wearable, LLView *data, BOOL disable_camera_switch = FALSE);
  47. void fetchInventory();
  48. void inventoryFetched();
  49. void onNewOutfitButtonClicked();
  50. void showOutfitsInventoryPanel();
  51. void showOutfitEditPanel();
  52. void showWearableEditPanel(LLWearable *wearable = NULL, BOOL disable_camera_switch = FALSE);
  53. void setWearablesLoading(bool val);
  54. void showDefaultSubpart();
  55. void updateScrollingPanelList();
  56. void updateToVisibility( const LLSD& new_visibility );
  57. private:
  58. void onFilterEdit(const std::string& search_string);
  59. void onVisibilityChange ( const LLSD& new_visibility );
  60. void onOpenOutfitButtonClicked();
  61. void onEditAppearanceButtonClicked();
  62. void toggleMyOutfitsPanel(BOOL visible);
  63. void toggleOutfitEditPanel(BOOL visible, BOOL disable_camera_switch = FALSE);
  64. void toggleWearableEditPanel(BOOL visible, LLWearable* wearable = NULL, BOOL disable_camera_switch = FALSE);
  65. LLFilterEditor* mFilterEditor;
  66. LLPanelOutfitsInventory* mPanelOutfitsInventory;
  67. LLPanelOutfitEdit* mOutfitEdit;
  68. LLPanelEditWearable* mEditWearable;
  69. LLButton* mOpenOutfitBtn;
  70. LLButton* mEditAppearanceBtn;
  71. LLButton* mNewOutfitBtn;
  72. LLPanel* mCurrOutfitPanel;
  73. LLTextBox* mCurrentLookName;
  74. LLTextBox* mOutfitStatus;
  75. // Used to make sure the user's inventory is in memory.
  76. LLCurrentlyWornFetchObserver* mFetchWorn;
  77. // Search string for filtering landmarks and teleport
  78. // history locations
  79. std::string mFilterSubString;
  80. // Gets set to true when we're opened for the first time.
  81. bool mOpened;
  82. };
  83. #endif //LL_LLSIDEPANELAPPEARANCE_H