OSDN Git Service

2012/01/27 0:30:34
[nlite/nlite.git] / nlite / nlite_chatData.h
index ab62062..f4f2aed 100644 (file)
@@ -1,6 +1,9 @@
 #pragma once
 
 namespace nlite{
+
+       //\91O\95û\90é\8c¾
+       class CCommentListWindow;
        namespace cuntry{
 
                enum LOCALE{
@@ -11,39 +14,43 @@ namespace nlite{
 
        }
 
+       ///
+       ///\83\8a\83X\83i\81[\83f\81[\83^\8d\\91¢\91Ì
+       ///
        struct ListenerData{
 
        public:
-               tstring user_id;
-               tstring userName;
-               COLORREF bkColor;
-               BOOL originBkFlag;
+               CNLiteString user_id;                                   //\83\86\81[\83U\81[ID
+               CNLiteString userName;                                  //\83\86\81[\83U\81[\96¼
+               COLORREF bkColor;                                               //\94w\8ci\90F
+               BOOL originBkFlag;                                              //\94w\8ci\90F\90Ý\92è\83t\83\89\83O
        public:
-               ListenerData(LPCTSTR user_id_in):
-                       user_id(user_id_in),
-                       userName(TEXT("")),
-                       bkColor(RGB(0,0,0)),
-                       originBkFlag(FALSE)
-                       {
-                               
-                       }
+               
+               ///
+               ///\83R\83\93\83X\83g\83\89\83N\83^
+               ///
+               ListenerData(LPCTSTR user_id_in);
 
+               ///
+               ///\94w\8ci\90F\90Ý\92è
+               ///
                VOID SetBkColor(COLORREF bkColor_in);
                
        };
 
-       ///
-       ///\94w\8ci\83J\83\89\81[\8eû\8fW\97p\83I\83u\83W\83F\83N\83g
-       ///
+       //
+       //\94w\8ci\83J\83\89\81[\8eû\8fW\97p\83I\83u\83W\83F\83N\83g
+       //
        class CListenerColorCollector{
 
        private:
-               std::deque<COLORREF> colorlist;
+               std::deque<COLORREF> colorlist;                                                                         //\90F\83\8a\83X\83g
 
        public:
 
                typedef std::deque<COLORREF>::iterator iterator;
 
+               //\8ew\92è\82µ\82½\90F\82ª\93o\98^\82³\82ê\82Ä\82¢\82é\82©\92²\82×\82é
                BOOL Find(COLORREF target){
 
                        iterator end = colorlist.end();
@@ -51,7 +58,7 @@ namespace nlite{
                        return std::find(colorlist.begin(),end,target) != end ? TRUE : FALSE;
                }
 
-
+               //\83t\83@\83\93\83N\83V\83\87\83i\83\8b
                void operator()(ListenerData &target){
 
                        if(target.originBkFlag == TRUE){
@@ -64,18 +71,23 @@ namespace nlite{
        };
        
        
-
+       ///
+       ///\83\8a\83X\83i\81[\83\8a\83X\83g
+       ///
        class CListenerList{
 
        private:
-
-               std::deque<ListenerData> m_listenerList;
+               typedef ListenerData InternalType;
+               typedef std::list<InternalType> ListenerList_Internal; 
+               ListenerList_Internal m_listenerList;
 
        public:
 
-               typedef std::deque<ListenerData>::reference reference;
+               typedef InternalType& reference;
+               typedef ListenerList_Internal::value_type value_type;
+               typedef ListenerList_Internal::iterator iterator;
+
                
-               typedef std::deque<ListenerData>::iterator iterator;
 
                ///
                ///\83\86\81[\83U\81[\93o\98^
@@ -101,11 +113,12 @@ namespace nlite{
                time_t date;                                            //\8e\9e\8aÔ
                cuntry::LOCALE locale;                          //\8d\91\83R\81[\83h
                ListenerData *listenerData;                     //\83\86\81[\83U\8fî\95ñ
-               tstring name;                                           //\96¼\91O\81B\82Â\82¢\82Ä\82±\82È\82¢\8e\9e\82à\82 \82é
-               tstring chatBuf;                                        //\83`\83\83\83b\83g\96{\95
-               std::vector<tstring> mail;                      //\83\81\81[\83\8b\83R\83}\83\93\83h
+               CNLiteString name;                                              //\96¼\91O\81B\82Â\82¢\82Ä\82±\82È\82¢\8e\9e\82à\82 \82é
+               CNLiteString chatBuf;                                   //\83`\83\83\83b\83g\96{\95
+               std::vector<CNLiteString> mail;                 //\83\81\81[\83\8b\83R\83}\83\93\83h
                ULONG_PTR thread;                                       //\83X\83\8c\83b\83h\94Ô\8d\86
                BOOL selectFlag;                                        //\91I\91ð\8fó\91Ô
+//             UINT_PTR height;                                        //\95\\8e¦\97Ì\88æ\82Ì\8d\82\82³
 
        public:
                CChatData():
@@ -120,12 +133,14 @@ namespace nlite{
        ///
        ///\83R\83\81\83\93\83g\83\8a\83X\83g\83N\83\89\83X
        ///
-       class CCommentList: public CComAutoCriticalSection{
+       class CCommentList{
 
        private:
-               typedef std::deque<CChatData> ChatList;
+               typedef std::list<CChatData> ChatList;
                ChatList chatList;
 
+
+       
                //\83G\83\89\81[\83R\81[\83h
        public:
                enum ERRORCORD{
@@ -176,6 +191,17 @@ namespace nlite{
                ///
                INT_PTR GetCurSel();
 
+
+               ///
+               ///\91I\91ð\8d\80\96Ú\82Ì\94Ô\8d\86\82ð\90Ý\92è
+               ///
+               VOID SetCurSel(INT_PTR cursel);
+
+               ///
+               ///\91I\91ð\8fó\91Ô\82Ì\83A\83C\83e\83\80\82ð\8eæ\93¾
+               ///
+               iterator GetCurSelItem();
+
                ///
                ///\8bó\82©\94»\92è
                ///
@@ -202,16 +228,19 @@ namespace nlite{
                reverse_iterator rend();
 
                ///
-               ///\83\8d\83b\83N\83g\83\89\83C
+               ///\83`\83\83\83b\83g\8eó\90M
                ///
-               BOOL Trylock();
-
-               VOID SetCurSel(INT_PTR cursel);
-
-               VOID OnChatReceve(NicoLiveChat_P chatData, UINT_PTR count);
+               VOID OnChatReceve(NicoLiveChat_P chatData, UINT_PTR count,CCommentListWindow &listWindow);
 
+               ///
+               ///\8ew\92è\82µ\82½\94Ô\8d\86\82Ì\83R\83\81\83\93\83g\8eQ\8fÆ\82ð\8eæ\93¾
+               ///
                reference GetChatAt(UINT_PTR no);
                
+
+               ///
+               ///\83\8a\83X\83g\8dÅ\8cã\82Ì\8eQ\8fÆ\82ð\8eæ\93¾
+               ///
                reference back();