Commit 235b3bcb authored by Eric Petit's avatar Eric Petit

beos/MessagesWindow*: fixed messages window

parent 8d3cfc4c
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
*****************************************************************************/ *****************************************************************************/
void MessagesView::Pulse() void MessagesView::Pulse()
{ {
#if 0
bool isScrolling = false; bool isScrolling = false;
if( fScrollBar->LockLooper() ) if( fScrollBar->LockLooper() )
{ {
...@@ -95,14 +94,14 @@ void MessagesView::Pulse() ...@@ -95,14 +94,14 @@ void MessagesView::Pulse()
if( LockLooper() ) if( LockLooper() )
{ {
oldLength = TextLength(); oldLength = TextLength();
BString string; BString string;
string << p_sub->p_msg[i_start].psz_module string << p_sub->p_msg[i_start].psz_module
<< " " << psz_module_type << " : " << " " << psz_module_type << " : "
<< p_sub->p_msg[i_start].psz_msg << "\n"; << p_sub->p_msg[i_start].psz_msg << "\n";
Insert( TextLength(), string.String(), strlen( string.String() ) ); Insert( TextLength(), string.String(), strlen( string.String() ) );
SetFontAndColor( oldLength, TextLength(), NULL, 0, &color ); SetFontAndColor( oldLength, TextLength(), NULL, 0, &color );
Draw( Bounds() ); Draw( Bounds() );
UnlockLooper(); UnlockLooper();
} }
} }
...@@ -123,37 +122,37 @@ void MessagesView::Pulse() ...@@ -123,37 +122,37 @@ void MessagesView::Pulse()
} }
BTextView::Pulse(); BTextView::Pulse();
#endif
} }
/***************************************************************************** /*****************************************************************************
* MessagesWindow::MessagesWindow * MessagesWindow::MessagesWindow
*****************************************************************************/ *****************************************************************************/
MessagesWindow::MessagesWindow( intf_thread_t * p_intf, MessagesWindow::MessagesWindow( intf_thread_t * _p_intf,
BRect frame, const char * name ) BRect frame, const char * name )
: BWindow( frame, name, B_FLOATING_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, : BWindow( frame, name, B_FLOATING_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL,
B_NOT_ZOOMABLE ) B_NOT_ZOOMABLE ),
p_intf(_p_intf)
{ {
this->p_intf = p_intf;
SetSizeLimits( 400, 2000, 200, 2000 ); SetSizeLimits( 400, 2000, 200, 2000 );
BRect rect, textRect; p_sub = msg_Subscribe( p_intf );
rect = Bounds(); BRect rect, textRect;
rect.right -= B_V_SCROLL_BAR_WIDTH;
textRect = rect; rect = Bounds();
textRect.InsetBy( 5, 5 ); rect.right -= B_V_SCROLL_BAR_WIDTH;
fMessagesView = new MessagesView( p_intf, textRect = rect;
rect, "messages", textRect, textRect.InsetBy( 5, 5 );
B_FOLLOW_ALL, B_WILL_DRAW ); fMessagesView = new MessagesView( p_sub,
fMessagesView->MakeEditable( false ); rect, "messages", textRect,
fMessagesView->SetStylable( true ); B_FOLLOW_ALL, B_WILL_DRAW );
fScrollView = new BScrollView( "scrollview", fMessagesView, B_WILL_DRAW, fMessagesView->MakeEditable( false );
B_FOLLOW_ALL, false, true ); fMessagesView->SetStylable( true );
fMessagesView->fScrollBar = fScrollView->ScrollBar( B_VERTICAL ); fScrollView = new BScrollView( "scrollview", fMessagesView, B_WILL_DRAW,
AddChild( fScrollView ); B_FOLLOW_ALL, false, true );
fMessagesView->fScrollBar = fScrollView->ScrollBar( B_VERTICAL );
AddChild( fScrollView );
/* start window thread in hidden state */ /* start window thread in hidden state */
Hide(); Hide();
Show(); Show();
...@@ -164,6 +163,7 @@ MessagesWindow::MessagesWindow( intf_thread_t * p_intf, ...@@ -164,6 +163,7 @@ MessagesWindow::MessagesWindow( intf_thread_t * p_intf,
*****************************************************************************/ *****************************************************************************/
MessagesWindow::~MessagesWindow() MessagesWindow::~MessagesWindow()
{ {
msg_Unsubscribe( p_intf, p_sub );
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -29,19 +29,18 @@ ...@@ -29,19 +29,18 @@
class MessagesView : public BTextView class MessagesView : public BTextView
{ {
public: public:
MessagesView( intf_thread_t * _p_intf, MessagesView( msg_subscription_t * _p_sub,
BRect rect, char * name, BRect textRect, BRect rect, char * name, BRect textRect,
uint32 resizingMode, uint32 flags ) uint32 resizingMode, uint32 flags )
: BTextView( rect, name, textRect, : BTextView( rect, name, textRect,
resizingMode, flags ) resizingMode, flags ),
p_sub(_p_sub)
{ {
p_intf = _p_intf;
} }
virtual void Pulse(); virtual void Pulse();
intf_thread_t * p_intf;
msg_subscription_t * p_sub; msg_subscription_t * p_sub;
BScrollBar * fScrollBar; BScrollBar * fScrollBar;
}; };
class MessagesWindow : public BWindow class MessagesWindow : public BWindow
...@@ -55,12 +54,13 @@ class MessagesWindow : public BWindow ...@@ -55,12 +54,13 @@ class MessagesWindow : public BWindow
void ReallyQuit(); void ReallyQuit();
intf_thread_t * p_intf; intf_thread_t * p_intf;
msg_subscription_t * p_sub;
BView * fBackgroundView; BView * fBackgroundView;
MessagesView * fMessagesView; MessagesView * fMessagesView;
BScrollView * fScrollView; BScrollView * fScrollView;
}; };
#endif // BEOS_PREFERENCES_WINDOW_H #endif // BEOS_PREFERENCES_WINDOW_H
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment