aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llfloatermessagebuilder.h
blob: 5dc9b429785793fd7d4f40a00efbb35fcf95e0ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// <edit>]
#ifndef LL_LLFLOATERMESSAGEBUILDER_H
#define LL_LLFLOATERMESSAGEBUILDER_H
#include "llfloater.h"
#include "lltemplatemessagereader.h"
#include "llmessagelog.h"

class LLNetListItem
{
public:
	LLNetListItem(LLUUID id);
	LLUUID mID;
	BOOL mAutoName;
	std::string mName;
	std::string mPreviousRegionName;
	LLCircuitData* mCircuitData;
};

class LLFloaterMessageBuilder : public LLFloater, public LLEventTimer
{
public:
	LLFloaterMessageBuilder(std::string initial_text);
	~LLFloaterMessageBuilder();
	static void show(std::string initial_text);
	static std::list<LLNetListItem*> sNetListItems;
	BOOL postBuild();
	BOOL tick();
	static BOOL addField(e_message_variable_type var_type, const char* var_name, std::string input, BOOL hex);
	static void onClickSend(void* user_data);
	static void onCommitPacketCombo(LLUICtrl* ctrl, void* user_data);
	static LLFloaterMessageBuilder* sInstance;
	BOOL handleKeyHere(KEY key, MASK mask);
	std::string mInitialText;
	struct parts_var
	{
		std::string name;
		std::string value;
		BOOL hex;
		e_message_variable_type var_type;
	};
	struct parts_block
	{
		std::string name;
		std::vector<parts_var> vars;
	};
	static LLNetListItem* findNetListItem(LLHost host);
	static LLNetListItem* findNetListItem(LLUUID id);
	void refreshNetList();
	enum ENetInfoMode { NI_NET, NI_LOG };
	ENetInfoMode mNetInfoMode;
	static void onCommitMessageLog(LLUICtrl* ctrl, void* user_data);
	static void onCommitFilter(LLUICtrl* ctrl, void* user_data);
};
#endif
// </edit>