summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpavelk_productengine <pavelkproductengine@lindenlab.com>2015-02-24 17:27:00 +0200
committerpavelk_productengine <pavelkproductengine@lindenlab.com>2015-02-24 17:27:00 +0200
commit575b750d1c1d3de2c86ad80759a2ba51d671344a (patch)
tree1fc648364d7e161336dca238cf3dc57682ede363
parent9d8bbe16007ef9292a04856f55f71016cf1220bf (diff)
MAINT-4734 (Separate transaction notices from group notice/invites)
- introduced expanded notification view and general condense/expand behaviour for all types of notifications
-rwxr-xr-xindra/newview/llgroupiconctrl.cpp2
-rw-r--r--indra/newview/llnotificationlistitem.cpp192
-rw-r--r--indra/newview/llnotificationlistitem.h36
-rwxr-xr-xindra/newview/skins/default/colors.xml7
-rw-r--r--indra/newview/skins/default/textures/icons/Outcoming_Transaction_Large.pngbin0 -> 4662 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/System_Notification_Large.pngbin0 -> 1804 bytes
-rwxr-xr-xindra/newview/skins/default/textures/textures.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_notification_list_item.xml113
8 files changed, 296 insertions, 57 deletions
diff --git a/indra/newview/llgroupiconctrl.cpp b/indra/newview/llgroupiconctrl.cpp
index 6abf9ea637..26680e1ea5 100755
--- a/indra/newview/llgroupiconctrl.cpp
+++ b/indra/newview/llgroupiconctrl.cpp
@@ -52,7 +52,7 @@ LLGroupIconCtrl::LLGroupIconCtrl(const LLGroupIconCtrl::Params& p)
{
LLSD value(p.group_id);
setValue(value);
- }
+ }
else
{
LLIconCtrl::setValue(mDefaultIconName);
diff --git a/indra/newview/llnotificationlistitem.cpp b/indra/newview/llnotificationlistitem.cpp
index 7f0e3460b1..f280dc0ed3 100644
--- a/indra/newview/llnotificationlistitem.cpp
+++ b/indra/newview/llnotificationlistitem.cpp
@@ -37,9 +37,13 @@
LLNotificationListItem::LLNotificationListItem(const Params& p) : LLPanel(p),
mParams(p),
mTitleBox(NULL),
- mCloseBtn(NULL)
+ mExpandBtn(NULL),
+ mCondenseBtn(NULL),
+ mCloseBtn(NULL),
+ mCondensedViewPanel(NULL),
+ mExpandedViewPanel(NULL),
+ mMainPanel(NULL)
{
- mID = p.notification_id;
mNotificationName = p.notification_name;
}
@@ -47,13 +51,42 @@ BOOL LLNotificationListItem::postBuild()
{
BOOL rv = LLPanel::postBuild();
mTitleBox = getChild<LLTextBox>("notification_title");
+ mTitleBoxExp = getChild<LLTextBox>("notification_title_exp");
+ mNoticeTextExp = getChild<LLTextBox>("notification_text_exp");
+
mTimeBox = getChild<LLTextBox>("notification_time");
+ mTimeBoxExp = getChild<LLTextBox>("notification_time_exp");
+ mExpandBtn = getChild<LLButton>("expand_btn");
+ mCondenseBtn = getChild<LLButton>("condense_btn");
mCloseBtn = getChild<LLButton>("close_btn");
+ mCloseBtnExp = getChild<LLButton>("close_expanded_btn");
+ mVerticalStack = getChild<LLLayoutStack>("item_vertical_stack");
mTitleBox->setValue(mParams.title);
+ mTitleBoxExp->setValue(mParams.title);
+ mNoticeTextExp->setValue(mParams.title);
+
mTimeBox->setValue(buildNotificationDate(mParams.time_stamp));
+ mTimeBoxExp->setValue(buildNotificationDate(mParams.time_stamp));
+ mExpandBtn->setClickedCallback(boost::bind(&LLNotificationListItem::onClickExpandBtn,this));
+ mCondenseBtn->setClickedCallback(boost::bind(&LLNotificationListItem::onClickCondenseBtn,this));
+
+ //mCloseBtn and mCloseExpandedBtn share the same callback
mCloseBtn->setClickedCallback(boost::bind(&LLNotificationListItem::onClickCloseBtn,this));
+ mCloseBtnExp->setClickedCallback(boost::bind(&LLNotificationListItem::onClickCloseBtn,this));
+
+ mCondensedViewPanel = getChild<LLPanel>("layout_panel_condensed_view");
+ mExpandedViewPanel = getChild<LLPanel>("layout_panel_expanded_view");
+ mMainPanel = getChild<LLPanel>("main_panel");
+
+ std::string expanded_heigt_str = getString("item_expanded_height");
+ std::string condensed_heigt_str = getString("item_condensed_height");
+
+ mExpandedHeight = (S32)atoi(expanded_heigt_str.c_str());
+ mCondensedHeight = (S32)atoi(condensed_heigt_str.c_str());
+
+ setExpanded(FALSE);
return rv;
}
@@ -90,10 +123,9 @@ void LLNotificationListItem::onClickCloseBtn()
BOOL LLNotificationListItem::handleMouseDown(S32 x, S32 y, MASK mask)
{
BOOL res = LLPanel::handleMouseDown(x, y, mask);
- if(!mCloseBtn->getRect().pointInRect(x, y))
//if(!mCloseBtn->getRect().pointInRect(x, y))
//if(!mCloseBtn->getLocalRect().pointInRect(x, y))
- mOnItemClick(this);
+ //mOnItemClick(this);
return res;
}
@@ -134,6 +166,36 @@ std::set<std::string> LLNotificationListItem::getTransactionTypes()
return LLTransactionNotificationListItem::getTypes();
}
+void LLNotificationListItem::onClickExpandBtn()
+{
+ setExpanded(TRUE);
+}
+
+void LLNotificationListItem::onClickCondenseBtn()
+{
+ setExpanded(FALSE);
+}
+
+void setPanelSize(LLView* panel, S32 width, S32 height, BOOL called_from_parent)
+{
+ LLRect rect = panel->getRect();
+ panel->reshape(width, height, called_from_parent);
+}
+
+void LLNotificationListItem::setExpanded(BOOL value)
+{
+ mCondensedViewPanel->setVisible(!value);
+ mExpandedViewPanel->setVisible(value);
+ if (value)
+ {
+ setPanelSize(this, 331, mExpandedHeight, FALSE);
+ }
+ else
+ {
+ setPanelSize(this, 331, mCondensedHeight, FALSE);
+ }
+}
+
std::set<std::string> LLInviteNotificationListItem::getTypes()
{
std::set<std::string> types;
@@ -179,11 +241,21 @@ LLInviteNotificationListItem::LLInviteNotificationListItem(const Params& p)
BOOL LLInviteNotificationListItem::postBuild()
{
BOOL rv = LLNotificationListItem::postBuild();
+
mGroupIcon = getChild<LLGroupIconCtrl>("group_icon");
+ mGroupIconExp = getChild<LLGroupIconCtrl>("group_icon_exp");
+ mGroupNameBoxExp = getChild<LLTextBox>("group_name_exp");
+
mGroupIcon->setValue(mParams.group_id);
- mGroupIcon->setVisible(TRUE);
- mGroupID = mParams.group_id;
- mSenderBox = getChild<LLTextBox>("sender_resident");
+ mGroupIconExp->setValue(mParams.group_id);
+
+ mGroupIcon->setVisible(TRUE);
+ mGroupIconExp->setVisible(TRUE);
+
+ mGroupId = mParams.group_id;
+
+ mSenderBox = getChild<LLTextBox>("sender_resident");
+ mSenderBoxExp = getChild<LLTextBox>("sender_resident_exp");
if (!mParams.sender.empty())
{
LLStringUtil::format_map_t string_args;
@@ -191,48 +263,106 @@ BOOL LLInviteNotificationListItem::postBuild()
std::string sender_text = getString("sender_resident_text", string_args);
mSenderBox->setValue(sender_text);
mSenderBox->setVisible(TRUE);
+ mSenderBoxExp->setValue(sender_text);
+ mSenderBoxExp->setVisible(TRUE);
} else {
- mSenderBox->setVisible(FALSE);
- }
+ mSenderBox->setVisible(FALSE);
+ mSenderBoxExp->setVisible(FALSE);
+ }
+
+ LLSD value(mParams.group_id);
+ setGroupId(value);
+
return rv;
}
+void LLInviteNotificationListItem::changed(LLGroupChange gc)
+{
+ if (GC_PROPERTIES == gc)
+ {
+ updateFromCache();
+ }
+}
+
+bool LLInviteNotificationListItem::updateFromCache()
+{
+ LLGroupMgrGroupData* group_data = LLGroupMgr::getInstance()->getGroupData(mGroupId);
+ if (!group_data) return false;
+ if (!group_data->mName.empty())
+ {
+ LLStringUtil::format_map_t string_args;
+ string_args["[GROUP_NAME]"] = llformat("%s", group_data->mName.c_str());
+ std::string group_name = getString("group_name_text", string_args);
+ mGroupNameBoxExp->setValue(group_name);
+ mGroupNameBoxExp->setVisible(TRUE);
+ }
+ else
+ {
+ mGroupNameBoxExp->setValue(LLStringUtil::null);
+ }
+ return true;
+}
+
+void LLInviteNotificationListItem::setGroupId(const LLUUID& value)
+{
+ LLGroupMgr* gm = LLGroupMgr::getInstance();
+ if (mGroupId.notNull())
+ {
+ gm->removeObserver(this);
+ }
+
+ mID = mGroupId; // set LLGroupMgrObserver::mID to make callbacks work
+
+ // Check if cache already contains image_id for that group
+ if (!updateFromCache())
+ {
+ gm->addObserver(this);
+ gm->sendGroupPropertiesRequest(mGroupId);
+ }
+}
+
LLTransactionNotificationListItem::LLTransactionNotificationListItem(const Params& p)
: LLNotificationListItem(p),
- mTransactionIcon(NULL)
+ mTransactionIcon(NULL)
{
- buildFromFile("panel_notification_list_item.xml");
+ buildFromFile("panel_notification_list_item.xml");
}
BOOL LLTransactionNotificationListItem::postBuild()
{
- BOOL rv = LLNotificationListItem::postBuild();
- if (mParams.notification_name == "PaymentReceived")
- {
- mTransactionIcon = getChild<LLIconCtrl>("incoming_transaction_icon");
- }
- else if (mParams.notification_name == "PaymentSent")
- {
- mTransactionIcon = getChild<LLIconCtrl>("outcoming_transaction_icon");
- }
- if(mTransactionIcon)
- mTransactionIcon->setVisible(TRUE);
- return rv;
+ BOOL rv = LLNotificationListItem::postBuild();
+ if (mParams.notification_name == "PaymentReceived")
+ {
+ mTransactionIcon = getChild<LLIconCtrl>("incoming_transaction_icon");
+ mTransactionIconExp = getChild<LLIconCtrl>("incoming_transaction_icon_exp");
+ }
+ else if (mParams.notification_name == "PaymentSent")
+ {
+ mTransactionIcon = getChild<LLIconCtrl>("outcoming_transaction_icon");
+ mTransactionIconExp = getChild<LLIconCtrl>("outcoming_transaction_icon_exp");
+ }
+ if(mTransactionIcon)
+ mTransactionIcon->setVisible(TRUE);
+ if(mTransactionIconExp)
+ mTransactionIconExp->setVisible(TRUE);
+ return rv;
}
LLSystemNotificationListItem::LLSystemNotificationListItem(const Params& p)
: LLNotificationListItem(p),
- mSystemNotificationIcon(NULL)
+ mSystemNotificationIcon(NULL)
{
- buildFromFile("panel_notification_list_item.xml");
+ buildFromFile("panel_notification_list_item.xml");
}
BOOL LLSystemNotificationListItem::postBuild()
{
- BOOL rv = LLNotificationListItem::postBuild();
- mSystemNotificationIcon = getChild<LLIconCtrl>("system_notification_icon");
- if (mSystemNotificationIcon)
- mSystemNotificationIcon->setVisible(TRUE);
- return rv;
+ BOOL rv = LLNotificationListItem::postBuild();
+ mSystemNotificationIcon = getChild<LLIconCtrl>("system_notification_icon");
+ mSystemNotificationIconExp = getChild<LLIconCtrl>("system_notification_icon_exp");
+ if (mSystemNotificationIcon)
+ mSystemNotificationIcon->setVisible(TRUE);
+ if (mSystemNotificationIconExp)
+ mSystemNotificationIconExp->setVisible(TRUE);
+ return rv;
}
-
diff --git a/indra/newview/llnotificationlistitem.h b/indra/newview/llnotificationlistitem.h
index da6d792fb8..f5cd9422b5 100644
--- a/indra/newview/llnotificationlistitem.h
+++ b/indra/newview/llnotificationlistitem.h
@@ -28,6 +28,7 @@
#define LL_LLNOTIFICATIONLISTITEM_H
#include "llpanel.h"
+#include "lllayoutstack.h"
#include "lltextbox.h"
#include "llbutton.h"
#include "llgroupiconctrl.h"
@@ -59,7 +60,7 @@ public:
void setTitle( std::string title );
// get item's ID
- LLUUID getID() { return mID; }
+ LLUUID getID() { return mParams.notification_id; }
std::string& getTitle() { return mTitle; }
std::string& getNotificationName() { return mNotificationName; }
@@ -82,18 +83,34 @@ protected:
virtual ~LLNotificationListItem();
static std::string buildNotificationDate(const LLDate&);
+ void setExpanded(BOOL value);
+ void onClickExpandBtn();
+ void onClickCondenseBtn();
void onClickCloseBtn();
Params mParams;
LLTextBox* mTitleBox;
+ LLTextBox* mTitleBoxExp;
+ LLTextBox* mNoticeTextExp;
LLTextBox* mTimeBox;
+ LLTextBox* mTimeBoxExp;
+ LLButton* mExpandBtn;
+ LLButton* mCondenseBtn;
LLButton* mCloseBtn;
- LLUUID mID;
+ LLButton* mCloseBtnExp;
+ LLLayoutStack* mVerticalStack;
+ LLPanel* mCondensedViewPanel;
+ LLPanel* mExpandedViewPanel;
+ LLPanel* mMainPanel;
+ //LLUUID mID;
std::string mTitle;
std::string mNotificationName;
+ S32 mCondensedHeight;
+ S32 mExpandedHeight;
};
-class LLInviteNotificationListItem : public LLNotificationListItem
+class LLInviteNotificationListItem
+ : public LLNotificationListItem, public LLGroupMgrObserver
{
public:
//void setGroupID(const LLUUID& group_id);
@@ -102,15 +119,24 @@ public:
static std::set<std::string> getTypes();
virtual BOOL postBuild();
+
+ void setGroupId(const LLUUID& value);
+ // LLGroupMgrObserver observer trigger
+ virtual void changed(LLGroupChange gc);
private:
friend class LLNotificationListItem;
LLInviteNotificationListItem(const Params& p);
LLInviteNotificationListItem(const LLInviteNotificationListItem &);
LLInviteNotificationListItem & operator=(LLInviteNotificationListItem &);
+ bool updateFromCache();
+
LLGroupIconCtrl* mGroupIcon;
- LLUUID mGroupID;
+ LLGroupIconCtrl* mGroupIconExp;
+ LLUUID mGroupId;
LLTextBox* mSenderBox;
+ LLTextBox* mSenderBoxExp;
+ LLTextBox* mGroupNameBoxExp;
};
class LLTransactionNotificationListItem : public LLNotificationListItem
@@ -124,6 +150,7 @@ private:
LLTransactionNotificationListItem(const LLTransactionNotificationListItem &);
LLTransactionNotificationListItem & operator=(LLTransactionNotificationListItem &);
LLIconCtrl* mTransactionIcon;
+ LLIconCtrl* mTransactionIconExp;
};
class LLSystemNotificationListItem : public LLNotificationListItem
@@ -137,6 +164,7 @@ private:
LLSystemNotificationListItem(const LLSystemNotificationListItem &);
LLSystemNotificationListItem & operator=(LLSystemNotificationListItem &);
LLIconCtrl* mSystemNotificationIcon;
+ LLIconCtrl* mSystemNotificationIconExp;
};
#endif // LL_LLNOTIFICATIONLISTITEM_H
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index bdc884885f..8533625e50 100755
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -873,8 +873,11 @@
<color
name="ToolbarDropZoneColor"
value=".48 .69 1 .5" />
-
- <!-- Generic color names (legacy) -->
+ <color
+ name="PanelNotificationListItem"
+ value="0.3 0.3 0.3 .3" />
+
+ <!-- Generic color names (legacy) -->
<color
name="white"
value="1 1 1 1"/>
diff --git a/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Large.png b/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Large.png
new file mode 100644
index 0000000000..79011edd8b
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Large.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/System_Notification_Large.png b/indra/newview/skins/default/textures/icons/System_Notification_Large.png
new file mode 100644
index 0000000000..434ce3e8b6
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/System_Notification_Large.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 66fe119848..eef7d56e75 100755
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -802,7 +802,10 @@ with the same filename but different name
<texture name="Icon_Attachment_Small" file_name="icons/Icon_Attachment_Small.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
<texture name="Icon_Attachment_Large" file_name="icons/Icon_Attachment_Large.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
<texture name="System_Notification_Small" file_name="icons/System_Notification_Small.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
+ <texture name="System_Notification_Large" file_name="icons/System_Notification_Large.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
<texture name="Incoming_Transaction_Small" file_name="icons/Incoming_Transaction_Small.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
+ <texture name="Incoming_Transaction_Large" file_name="icons/Incoming_Transaction_Large.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
<texture name="Outcoming_Transaction_Small" file_name="icons/Outcoming_Transaction_Small.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
+ <texture name="Outcoming_Transaction_Large" file_name="icons/Outcoming_Transaction_Large.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
</textures>
diff --git a/indra/newview/skins/default/xui/en/panel_notification_list_item.xml b/indra/newview/skins/default/xui/en/panel_notification_list_item.xml
index 9bd9742a20..05b721000f 100644
--- a/indra/newview/skins/default/xui/en/panel_notification_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_notification_list_item.xml
@@ -2,34 +2,49 @@
<!-- All our XML is utf-8 encoded. -->
<panel
translate="false"
- name="panel_notification_list_item"
+ name="main_panel"
title="panel_notification_list_item"
visible="true"
top="0"
left="0"
width="331"
- height="50"
- can_resize="false"
+ height="200"
+ can_resize="true"
layout="topleft"
- follows="left|right"
+ follows="left|top|right|bottom"
background_opaque="false"
background_visible="true"
- bg_alpha_color="SysWellItemUnselected" >
+ bg_alpha_color="PanelNotificationListItem" >
<panel.string
name="sender_resident_text">
Sender: "[SENDER_RESIDENT]"
</panel.string>
+ <panel.string
+ name="group_name_text">
+ Group: "[GROUP_NAME]"
+ </panel.string>
+ <panel.string
+ name="item_condensed_height">
+ 50
+ </panel.string>
+ <panel.string
+ name="item_expanded_height">
+ 200
+ </panel.string>
- <panel border="true" top="0" left="3" width="327" height="44" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="group_name_notice_title_panel">
- <layout_stack top="0" left="0" width="325" height="50" orientation="horizontal" follows="left|top|right|bottom" name="HorizontalStack">
- <layout_panel width="30" height="22" orientation="horizontal" follows="left|top|right|bottom" name="layout_panel_1">
- <group_icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="group_icon" tool_tip="Group" default_icon_name="Generic_Group" visible="false"/>
+ <panel top="0" left="0" width="331" height="196" bevel_style="none" layout="topleft" follows="left|top|right|bottom" name="panel_total_view">
+ <layout_stack top="0" left="0" width="331" height="196" orientation="vertical" follows="left|top|right|bottom" name="item_vertical_stack">
+ <layout_panel top="0" left="0" height="30" layout="topleft" follows="left|top|right|bottom" name="layout_panel_condensed_view" visible="false">
+ <panel border="true" top="0" left="5" height="30" bevel_style="none" layout="topleft" follows="left|top|right|bottom" name="panel_condensed_view">
+ <layout_stack top="0" left="0" width="325" height="50" orientation="horizontal" follows="left|top|right|bottom" name="horizontal_stack">
+ <layout_panel width="30" height="39" orientation="horizontal" follows="left|top|right|bottom" name="layout_panel_right">
+ <group_icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="group_icon" tool_tip="Group" default_icon_name="Generic_Group" visible="true"/>
<icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="system_notification_icon" tool_tip="Icon" image_name="System_Notification_Small" visible="false"/>
<icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="incoming_transaction_icon" tool_tip="Icon" image_name="Incoming_Transaction_Small" visible="false"/>
<icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="outcoming_transaction_icon" tool_tip="Icon" image_name="Outcoming_Transaction_Small" visible="false"/>
</layout_panel>
- <layout_panel width="260" height="50" orientation="horizontal" follows="left|top|right|bottom" name="layout_panel_2">
- <panel border="false" top="0" width="260" height="38" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="main_info_panel">
+ <layout_panel width="260" height="50" orientation="horizontal" name="layout_panel_middle">
+ <panel border="false" top="0" width="260" height="38" bevel_style="none" follows="left|top|right" layout="topleft" name="main_info_panel">
<panel border="false" top="0" left="0" width="260" height="19" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="notification_title_panel">
<text allow_scroll="false" font="SansSerifSmall" top="6" left="0" width="245" height="12" layout="topleft" follows="right|left" text_color="White"
use_ellipses="true" word_wrap="true" mouse_opaque="false" name="notification_title" >
@@ -37,24 +52,84 @@
</text>
<icon top="0" left="242" width="21" height="21" image_name="Icon_Attachment_Small" follows="right" mouse_opaque="true" name="icon_attachment_small" tool_tip="Attachment"/>
</panel>
- <panel border="false" top="23" left="0" width="260" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="sender_time_panel" height="15">
- <text allow_scroll="false" font="SansSerifSmall" top="0" left="0" width="250" height="13" layout="topleft" follows="right|left"
+ <panel border="false" top="23" left="0" width="260" height="15" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="sender_time_panel">
+ <text allow_scroll="false" font="SansSerifSmall" top="0" left="0" width="250" height="13" layout="topleft" follows="right|left"
use_ellipses="true" word_wrap="true" mouse_opaque="false" name="sender_resident" visible="false">
Sender:Resident
</text>
- <text allow_scroll="false" font="SansSerifSmall" top="0" width="95" height="13" follows="right" halign="right" layout="topleft" left_pad="5"
- name="notification_time" right="-5" value="2014/12/24 23:30" />
+ <text allow_scroll="false" font="SansSerifSmall" top="0" right="-5" width="95" height="13" follows="right" halign="right" layout="topleft" left_pad="5"
+ name="notification_time" value="2014/12/24 23:30" />
</panel>
</panel>
</layout_panel>
- <layout_panel name="layout_panel_3" width="18" height="39" orientation="horizontal" follows="left|top|right|bottom">
- <panel name="close_expand_panel" border="false" top="0" left="0" width="17" height="39" bevel_style="none" follows="left|top|right|bottom" layout="topleft">
- <button top="0" left="0" width="17" height="17" layout="topleft" follows="top" name="close_btn" mouse_opaque="true"
+ <layout_panel width="18" height="48" orientation="horizontal" follows="left|top" name="layout_panel_right">
+ <panel top="0" left="0" width="17" height="39" follows="left|top" layout="topleft" name="close_expand_panel">
+ <button top="0" left="1" width="17" height="17" layout="topleft" follows="top" name="close_btn" mouse_opaque="true"
tab_stop="false" image_unselected="Icon_Close_Foreground" image_selected="Icon_Close_Press" />
- <button top="22" left="0" width="17" height="17" layout="topleft" follows="top" name="expand_btn" mouse_opaque="true"
+ <button top="25" left="0" width="17" height="17" layout="topleft" follows="top" name="expand_btn" mouse_opaque="true"
tab_stop="false" image_unselected="Notification_Expand" image_selected="Notification_Expand" />
</panel>
</layout_panel>
+ </layout_stack>
+ </panel>
+ </layout_panel>
+ <layout_panel top="0" left="0" height="196" follows="left|top|right|bottom" layout="topleft" name="layout_panel_expanded_view" visible="true">
+ <panel border="true" top="0" left="5" height="193" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="panel_expanded_view">
+ <layout_stack top="0" left="0" width="325" height="193" orientation="horizontal" follows="left|top|right|bottom" name="horizontal_stack">
+ <layout_panel width="60" height="170" orientation="horizontal" follows="left|top|bottom" name="layout_panel_right_exp">
+ <group_icon left="5" top="6" width="55" height="55" mouse_opaque="true" name="group_icon_exp" tool_tip="Group" default_icon_name="Generic_Group" visible="true"/>
+ <icon left="5" top="6" width="55" height="55" mouse_opaque="true" name="system_notification_icon_exp" tool_tip="Icon" image_name="System_Notification_Large" visible="false"/>
+ <icon left="5" top="6" width="55" height="55" mouse_opaque="true" name="incoming_transaction_icon_exp" tool_tip="Icon" image_name="Incoming_Transaction_Large" visible="false"/>
+ <icon left="5" top="6" width="55" height="55" mouse_opaque="true" name="outcoming_transaction_icon_exp" tool_tip="Icon" image_name="Outcoming_Transaction_Large" visible="false"/>
+ <icon top="142" right="65" width="22" height="25" image_name="Icon_Attachment_Large" follows="right" mouse_opaque="true" name="icon_attachment_large" tool_tip="Attachment"/>
+ </layout_panel>
+ <layout_panel width="230" height="170" orientation="horizontal" follows="left|top|right|bottom" name="layout_panel_middle_exp">
+ <panel border="false" top="0" width="230" height="38" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="main_info_panel_expanded">
+ <panel border="false" top="0" left="0" width="230" height="30" bevel_style="none" follows="left|top|right" layout="topleft" name="notification_title_panel_exp">
+ <text allow_scroll="false" font="SansSerif" top="6" left="0" width="233" height="10" layout="topleft" follows="right|left" text_color="White"
+ use_ellipses="true" word_wrap="false" mouse_opaque="false" name="notification_title_exp">
+ Notice Title Notice Title N o t i c e T i t l e
+ </text>
+ <text allow_scroll="false" font="SansSerif" left="0" width="233" height="10" layout="topleft" follows="right|left" text_color="White"
+ use_ellipses="true" word_wrap="false" mouse_opaque="false" name="group_name_exp" visible="false">
+ Group Name Group Name Group Na m e e
+ </text>
+ </panel>
+ <panel border="false" left="0" width="230" height="12" bevel_style="none" follows="left|top|right" layout="topleft" name="sender_time_panel_exp">
+ <text allow_scroll="false" font="SansSerifSmall" top="0" left="0" width="143" height="13" layout="topleft" follows="right|left"
+ use_ellipses="true" word_wrap="false" mouse_opaque="false" name="sender_resident_exp" visible="false">
+ Sender: "Resident R e s i d e n t R e s i d e n t"
+ </text>
+ <text allow_scroll="false" font="SansSerifSmall" top="0" right="-1" width="95" height="13" follows="right" halign="right" layout="topleft" left_pad="5"
+ name="notification_time_exp" value="2014/12/24 23:30" />
+ </panel>
+ <panel border="true" left="1" width="230" height="90" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="full_notice_text_panel_exp" visible="true"
+ bg_visible="true">
+ <text allow_scroll="false" font="SansSerifSmall" top="4" left="5" width="220" height="80" layout="topleft" follows="left|top|right|bottom"
+ use_ellipses="true" word_wrap="true" mouse_opaque="false" max_length="400" name="notification_text_exp" >
+ Notice text goes here b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla .
+ </text>
+ </panel>
+ <panel border="true" left="1" width="230" height="21" bevel_style="none" follows="left|bottom|right" layout="topleft" name="full_notice_attach_panel_exp" visible="true"
+ bg_visible="true">
+ <text allow_scroll="false" font="SansSerifSmall" top="4" left="5" width="220" height="12" layout="topleft" follows="left|top|right|bottom"
+ use_ellipses="true" word_wrap="true" mouse_opaque="false" max_length="96" name="notification_full_text">
+ Attachment goes here b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a b l a bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla .
+ </text>
+ </panel>
+ </panel>
+ </layout_panel>
+ <layout_panel width="18" orientation="horizontal" follows="right|top|bottom" name="layout_panel_left_exp">
+ <panel top="0" left="0" width="17" follows="left|top|right|bottom" layout="topleft" name="close_expand_panel_exp">
+ <button top="0" left="1" width="17" height="17" layout="topleft" follows="top" name="close_expanded_btn" mouse_opaque="true"
+ tab_stop="false" image_unselected="Icon_Close_Foreground" image_selected="Icon_Close_Press" />
+ <button top="175" left="0" width="17" height="17" layout="topleft" follows="top" name="condense_btn" mouse_opaque="true"
+ tab_stop="false" image_unselected="Notification_Condense" image_selected="Notification_Condense" />
+ </panel>
+ </layout_panel>
</layout_stack>
</panel>
+ </layout_panel>
+</layout_stack>
+</panel>
</panel>