Virtual U.org
Get Personal Training on VU Today
    
Top shadow
 
 register/help
User Name:

Password:

ONEWS.CPP Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

ONEWS.CPP

Go to the documentation of this file.
00001 //Filename    : ONEWS_IF.CPP
00002 //Description : Object NewsArray; including sys, font related functions.
00003 //Owner                 :Fred
00004 
00005 #include <OFONT.H>
00006 #include <OINFO.H>
00007 #include <OFINANCE.H>
00008 
00009 #include <ONEWS.H>
00010 
00011 //------- define screen coordinations -------//
00012 //--------- define static vars --------------//
00013 
00014 //------ Begin of function NewsArray::NewsArray -----//
00015 
00016 NewsArray::NewsArray() : DynArray(sizeof(News), 100) {
00017 }
00018 
00019 //-------- End of function NewsArray::NewsArray -----//
00020 
00021 //------ Begin of function NewsArray::init -----//
00023 void NewsArray::init() {
00024     reset();
00025 }
00026 
00027 //------- End of function NewsArray::init -----//
00028 
00029 //------ Begin of function NewsArray::deinit -----//
00031 void NewsArray::deinit() {
00032     reset();
00033 }
00034 
00035 //------- End of function NewsArray::deinit -----//
00036 
00037 //------ Begin of function NewsArray::reset -----//
00041 void NewsArray::reset() {
00042     zap();                                          // clear all news in the log
00043 
00044     last_clear_recno = 0;
00045     news_add_flag    = 1;
00046 
00047     default_setting();
00048 }
00049 
00050 //------- End of function NewsArray::reset -----//
00051 
00052 //------ Begin of function NewsArray::default_setting -----//
00056 void NewsArray::default_setting() {
00057     news_type_option[NEWS_NORMAL]=1;
00058 
00059     news_who_option = NEWS_DISP_ALL;                // default display news of groups controlled by the player
00060 }
00061 
00062 //------- End of function NewsArray::default_setting -----//
00063 
00064 //------ Begin of function NewsArray::remove -----//
00071 void NewsArray::remove(int newsId, int shortPara1) {
00072     News* newsPtr;
00073 
00074     for( int i=size() ; i>0 ; i-- ) {
00075         newsPtr = news_array[i];
00076 
00077         if( newsPtr->id == newsId &&
00078             newsPtr->short_para1 == shortPara1 ) {
00079             linkout(i);
00080 
00081             //### begin alex 31/3 ###//
00082             //if( i<last_clear_recno && last_clear_recno > 1 )
00083             if( i<=last_clear_recno && last_clear_recno > 0 )
00084                 last_clear_recno--;
00085             //#### end alex 31/3 ####//
00086 
00087             break;
00088         }
00089     }
00090 }
00091 
00092 //------- End of function NewsArray::remove -----//
00093 
00094 //------- Begin of function NewsArray::operator[] -----//
00095 
00096 News* NewsArray::operator[](int recNo) {
00097 #ifdef DEBUG
00098 
00099     News* msgPtr;
00100 
00101     if( recNo )
00102         msgPtr = (News*) get(recNo);
00103     else
00104         msgPtr = NULL;                                // NULL will then cause error
00105 
00106     err_if( !msgPtr || msgPtr->news_date==0 )
00107         err_now( "NewsArray[] is deleted" );
00108 
00109     return msgPtr;
00110 
00111 #else
00112 
00113     return (News*) get(recNo);
00114 #endif
00115 }
00116 
00117 //--------- End of function NewsArray::operator[] ----//

Generated on Fri Aug 23 01:38:08 2002 for VirtualU by doxygen1.2.17