本文整理汇总了C++中Person::GetUIN方法的典型用法代码示例。如果您正苦于以下问题:C++ Person::GetUIN方法的具体用法?C++ Person::GetUIN怎么用?C++ Person::GetUIN使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Person
的用法示例。
在下文中一共展示了Person::GetUIN方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MessageReceived
void ChatWindow::MessageReceived( BMessage* aMessage ) {
switch( aMessage->what ) {
case SHOW_MESSAGE:
{
const char *msg;
aMessage->FindString( "msg", &msg );
time_t _now = time( NULL );
struct tm *now = localtime( &_now );
BString *str = NULL;
BString *str2 = NULL;
char *string = NULL;
Person *person = NULL;
for( int i = 0; i < iWindow->GetProfile()->GetUserlist()->GetList()->CountItems(); i++ ) {
person = ( Person* ) iWindow->GetProfile()->GetUserlist()->GetList()->ItemAt( i );
if( iWho == person->GetUIN() ) {
str = new BString();
str->SetTo( person->GetDisplay() );
break;
}
}
if( !str ) {
str = new BString();
*str << ( int32 ) iWho;
}
BFont *font = new BFont( be_plain_font );
font->SetSize( 16.0 );
font->SetEncoding( B_ISO_8859_2 );
rgb_color yellow = { 255, 255, 0, 0 };
rgb_color red = { 255, 0, 0, 0 };
rgb_color white = { 255, 255, 255, 0 };
string = ( char* ) calloc( strlen( "[00:00] " ), 1 );
sprintf( string, "[%02d:%02d] ", now->tm_hour, now->tm_min);
str2 = new BString();
str2->SetTo( string );
free( string );
iChat->SetFontAndColor( iChat->TextLength(), iChat->TextLength() + str2->Length(), font, B_FONT_ALL, &yellow );
iChat->Insert( iChat->TextLength(), str2->String(), str2->Length() );
str->Append( ": " );
iChat->SetFontAndColor( iChat->TextLength(), iChat->TextLength() + str->Length(), font, B_FONT_ALL, &red );
iChat->Insert( iChat->TextLength(), str->String(), str->Length() );
str2->SetTo( msg );
str2->Append( "\n" );
iChat->SetFontAndColor( iChat->TextLength(), iChat->TextLength() + str2->Length(), font, B_FONT_ALL, &white );
iChat->Insert( iChat->TextLength(), str2->String(), str2->Length() );
BScrollBar * scrollBar = iScrollView->ScrollBar( B_VERTICAL );
if( scrollBar->LockLooper() ) {
float max,min;
scrollBar->GetRange( &min, &max );
scrollBar->SetValue( max );
scrollBar->UnlockLooper();
}
delete str;
delete str2;
break;
}
case BEGG_SEND:
{
if( iSayControl->LockLooper()) {
if( !(*iSayControl->Text() ) ) {
/* nothing to send */
iSayControl->UnlockLooper();
break;
}
/* first we add message into chat window */
time_t _now = time( NULL );
struct tm * now = localtime( &_now );
BString str;
BString str2;
char *string;
// int id = iNetwork->GetIdent();
BFont *font = new BFont( be_plain_font );
font->SetSize( 16.0 );
font->SetEncoding( B_ISO_8859_2 );
rgb_color yellow = { 255, 255, 0, 0 };
rgb_color green = { 0, 255, 0, 0 };
rgb_color white = { 255, 255, 255, 0 };
string = ( char* ) calloc( strlen( "[00:00] " ), 1 );
sprintf( string, "[%02d:%02d] ", now->tm_hour, now->tm_min );
str2.SetTo( string );
free( string );
iChat->SetFontAndColor( iChat->TextLength(), iChat->TextLength() + str2.Length(), font, B_FONT_ALL, &yellow );
iChat->Insert( iChat->TextLength(), str2.String(), str2.Length() );
str.SetTo( iWindow->GetProfile()->GetProfileName() );
str.Append( ": " );
iChat->SetFontAndColor( iChat->TextLength(), iChat->TextLength() + str.Length(), font, B_FONT_ALL, &green );
iChat->Insert( iChat->TextLength(), str.String(), str.Length() );
str2.SetTo( iSayControl->Text() );
str2.Append( "\n" );
iChat->SetFontAndColor( iChat->TextLength(), iChat->TextLength() + str2.Length(), font, B_FONT_ALL, &white );
iChat->Insert( iChat->TextLength(), str2.String(), str2.Length() );
/* scroll down */
BScrollBar * scrollBar = iScrollView->ScrollBar( B_VERTICAL );
if( scrollBar->LockLooper() ) {
float max,min;
//.........这里部分代码省略.........
示例2: BWindow
ChatWindow::ChatWindow( Network *aNetwork, MainWindow *aWindow, uin_t aWho )
: BWindow( CHATWIN_RECT, CHATWIN_NAME,
B_FLOATING_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, B_NOT_ZOOMABLE )
{
iNetwork = aNetwork;
iWindow = aWindow;
iWho = aWho;
SetSizeLimits( 300, 2000, 200, 2000 );
/*
we're fixing a title and checking that we have that number in our people list
if true, set to iDisplay
*/
Person *person;
BString title = Title();
BString *pe = NULL;
for( int i = 0; i < iWindow->GetProfile()->GetUserlist()->GetList()->CountItems(); i++ ) {
person = ( Person* ) iWindow->GetProfile()->GetUserlist()->GetList()->ItemAt( i );
if( aWho == person->GetUIN() ) {
pe = new BString( person->GetDisplay() );
break;
}
}
if( !pe ) {
pe = new BString();
pe->SetTo( _T("[Stranger]") );
}
title.Append( pe->String() );
title << " (" << iWho << ")";
SetTitle( title.String());
/* making a default background */
BRect r = Bounds();
BView *someView;
someView = new BView( r, "some view", B_FOLLOW_ALL, B_WILL_DRAW );
someView->SetViewColor( 60, 60, 60 );
AddChild( someView );
/* 'chat' at base of BTextView */
r = someView->Bounds();
r.InsetBy( 10, 10 );
r.right -= B_V_SCROLL_BAR_WIDTH;
r.bottom -= 25;
BRect textRect = BRect( 5, 5, r.Width() - 5, r.Height() - 5 );
iChat = new BTextView( r, "chat view", textRect, B_FOLLOW_ALL, B_WILL_DRAW );
iChat->MakeEditable( false );
iChat->SetStylable( true );
BFont *font = new BFont( be_plain_font );
font->SetSize( 15.0 );
font->SetEncoding( B_ISO_8859_2 );
iChat->SetFontAndColor( font );
iScrollView = new BScrollView( "scroll view", iChat, B_FOLLOW_ALL, 0, false, true );
someView->AddChild( iScrollView );
iChat->SetViewColor( 70, 70, 70 );
/* new message edit box */
r = someView->Bounds();
r.InsetBy( 10, 10 );
r.top = r.bottom - 15;
iSayControl = new BTextControl( r, "say control", "", NULL, new BMessage( BEGG_SEND ), B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM );
iSayControl->MakeFocus( true );
float width, height;
iSayControl->GetPreferredSize( &width, &height );
iSayControl->SetDivider( width / 2 );
iSayControl->SetFont( font );
someView->AddChild( iSayControl );
}