Example #1
0
Window::~Window(void)
{
    vector<Panel *>::iterator i;

    if (!m_bIsVulcanMindMeldHost)
    {
       delete m_pCanvas;
       ClearControls();

       for(i = m_oPanels.begin(); i != m_oPanels.end(); i++)
	     	delete (Panel *)*i;
    }   

    delete m_pUsageMutex;
    delete m_pUsageSem;

}
Example #2
0
/*
void MarketMakerDlg::OnCancel()
{
    Clear();
    ExtFrame::GetInstance()->DestroyMMDlg(this);
}
*/
void MarketMakerDlg::OnOK()
{
    CString symbol;
    m_EditStock.GetWindowText(symbol);
    m_EditStock.SetWindowText("");
    Clear();
    ClearControls();
    m_stockHandle = B_GetStockHandle(symbol);
    if(m_stockHandle)
    {
        m_level1 = B_GetLevel1(m_stockHandle);
        m_level2 = B_GetLevel2(m_stockHandle);
//        m_book = B_GetAggregatedBook(m_stockHandle);
        m_print = B_GetPrints(m_stockHandle);

        m_level1->Add(this);
//        m_level2->Add(this);
//        m_book->Add(this);
        m_print->Add(this);
        bool ecnsOnly = false;
        bool twoDecPlaces = false;
		unsigned int mmLines = 1;//0xFFFFFFFF;

        m_bidIterator = B_CreateLevel2AndBookIterator(m_stockHandle, true, ecnsOnly, twoDecPlaces, m_linesIntegrated, mmLines, this);
        m_askIterator = B_CreateLevel2AndBookIterator(m_stockHandle, false, ecnsOnly, twoDecPlaces, m_linesIntegrated, mmLines, this);

//        m_bidIterator = B_CreateLevel2AndBookIterator(m_level2, m_book, true, false, false, m_linesIntegrated, MAX_BOOKS);
//        m_askIterator = B_CreateLevel2AndBookIterator(m_level2, m_book, false, false, false, m_linesIntegrated, MAX_BOOKS);
        m_printsIterator = B_CreatePrintsIterator(m_stockHandle, true);
		B_TransactionIteratorSetSourceFilter(m_printsIterator, ((1 << PS_LAST) - 1), NULL);

        SetWindowText(symbol);

        if(B_IsStockValid(m_stockHandle))
        {
            FillLevel1();
            FillPrints();
            FillQuotes(true);
            FillQuotes(false);
        }
    }
}
Example #3
0
void GUIHandler::DeInit()
{
	ClearControls();
	
	// SAFE_DELETE_ARRAY( tex_cursors );

	/*
	for ( int i = 0; i < 9; i++ )
	{
		delete tex_cursors[i];
		tex_cursors[i] = NULL;
	}
	*/

	SAFE_DELETE( drag_cursor );

	refresh_times.clear();
	stack.Clear();
	//pGumpHandler.ClearTextures();

	Reset();
}
Example #4
0
void wxDatabaseTableData::OnClickSave(wxCommandEvent &event)
{
    if( !this->CreateSql() )
    {
        return;
    }

    wxMessageBox( m_sql_insert );

    wxSQLite3Database *m_db = InitDB( this->GetDbPath() );
    int isinsert = m_db->ExecuteUpdate( m_sql_insert );
    CloseDataBase( m_db );

    if( isinsert == 0 )
    {
        wxMessageBox( "Erro ao inserir" );
    }
    else
    {

        wxMessageBox( "Registro inserido com sucesso!" );
        ClearControls();
    }
}
Example #5
0
void MarketMakerDlg::Process(const Message* message, Observable* from, const Message* additionalInfo)
{
    switch(message->GetType())
    {
        case M_RESP_REFRESH_SYMBOL:
        if(from == m_level1)
        {
            FillLevel1();
        }
        else if(from == m_level2 || from == m_book)
        {
            FillQuotes(true);
            FillQuotes(false);
        }
        else if(from == m_print)
        {
            FillPrints();
        }

        break;

        case M_RESP_REFRESH_SYMBOL_FAILED:
//        Clear();
        m_level1 = NULL;
        m_level2 = NULL;
        m_print = NULL;
        m_book = NULL;
        Clear();
        ClearControls();
        break;

    
        case M_NW2_MM_QUOTE:
        case M_LEVEL2_QUOTE:
        if(additionalInfo != NULL && additionalInfo->GetType() == M_AI_LEVEL2_QUOTE)
        {
            AIMsgMMLevel2Quote* info = (AIMsgMMLevel2Quote*)additionalInfo;
            if(!info->isDirectEcn || m_linesIntegrated[info->bookId] == 0)
            {
                if(info->bidChanged)
                {
                    FillQuotes(true);
                }
                if(info->askChanged)
                {
                    FillQuotes(false);
                }
            }
        }
        else //should not happen
        {
            FillQuotes(true);
            FillQuotes(false);
        }
        break;
/*
        case M_ITCH_MODIFY_ORDER:
        FillQuotes(((MsgItchModifyOrder*)message)->x_BuySellIndicator == 'B');
        break;

		case M_ITCH_ADD_ORDER:
        FillQuotes(((MsgItchAddOrder*)message)->x_BuySellIndicator == 'B');
        break;
*/
		case M_ITCH_1_00_NewVisibleOrder:
        FillQuotes(((MsgItch100AddOrder*)message)->m_BuySellIndicator == 'B');
        break;

		case M_ITCH_1_00_VisibleOrderExecution:
        FillQuotes(((MsgItch100VisibleOrderExecution*)message)->m_BuySellIndicator == 'B');
        break;

		case M_ITCH_1_00_CanceledOrder:
        FillQuotes(((MsgItch100CancelOrder*)message)->m_BuySellIndicator == 'B');
        break;

		case M_BOOK_NEW_ORDER:
        FillQuotes(((MsgBookNewOrder*)message)->m_Side == SIDE_BUY);
        break;

		case M_BOOK_MODIFY_ORDER:
        FillQuotes(((MsgBookModifyOrder*)message)->m_Side == SIDE_BUY);
        break;

		case M_BOOK_DELETE_ORDER:
        FillQuotes(((MsgBookDeleteOrder*)message)->m_Side == SIDE_BUY);
        break;

		case M_ITCH_1_00_NewVisibleAttributedOrder:
		{
			const MsgItch100AddAttributedOrder* msg = (const MsgItch100AddAttributedOrder*)message;
			unsigned short ecnId = B_GetEcnIdByNameId(msg->m_mmid);
			if(ecnId < MAX_BOOKS)//Ecn Book
			{
				if(B_IsEcnBook(m_stockHandle, from, true))
				{
					if(additionalInfo && additionalInfo->GetType() == M_AI_BOOK_QUOTE)
					{
						AIMsgBookQuote* info = (AIMsgBookQuote*)additionalInfo;
				        FillQuotes(msg->m_BuySellIndicator == 'B');
					}
				}
			}
			else// if(from != m_position)//MarketMaker book// if(m_mmLines != 0)
			{
		        FillQuotes(msg->m_BuySellIndicator == 'B');
			}
		}

        break;

		case M_ITCH_1_00_VisibleAttributedOrderExecution:
		{
			const MsgItch100VisibleAttributedOrderExecution* msg = (const MsgItch100VisibleAttributedOrderExecution*)message;
			unsigned short ecnId = B_GetEcnIdByNameId(msg->m_mmid);
			if(ecnId < MAX_BOOKS)
			{
				if(B_IsEcnBook(m_stockHandle, from, true))
				{
					if(additionalInfo && additionalInfo->GetType() == M_AI_BOOK_QUOTE)
					{
						AIMsgBookQuote* info = (AIMsgBookQuote*)additionalInfo;
				        FillQuotes(msg->m_BuySellIndicator == 'B');
					}
				}
		        else// if(from != m_position)
				{
//					AddPrint();
				}
			}
			else// if(from != m_position)// if(m_mmLines != 0)
			{
		        FillQuotes(msg->m_BuySellIndicator == 'B');
			}
		}
        break;

		case M_ITCH_1_00_ATTRIBUTED_CanceledOrder:
		{
			const MsgItch100AttributedCancelOrder* msg = (const MsgItch100AttributedCancelOrder*)message;
			unsigned short ecnId = B_GetEcnIdByNameId(msg->m_mmid);
			if(ecnId < MAX_BOOKS)
			{
				if(B_IsEcnBook(m_stockHandle, from, true))
				{
					if(additionalInfo && additionalInfo->GetType() == M_AI_BOOK_QUOTE)
					{
						AIMsgBookQuote* info = (AIMsgBookQuote*)additionalInfo;
				        FillQuotes(msg->m_BuySellIndicator == 'B');
					}
				}
			}
			else// if(from != m_position)// if(m_mmLines != 0)
			{
		        FillQuotes(msg->m_BuySellIndicator == 'B');
			}
		}
        break;
/*
		case M_AI_NEW_MM_BOOK:
		if(m_bidIterator)
		{
			unsigned int mmid = ((const MsgNewMmBook*)message)->m_mmid;
			B_MultiBookIteratorMmBookAdded(m_bidIterator, mmid);
			B_MultiBookIteratorMmBookAdded(m_askIterator, mmid);
		}
		break;
*/
		case M_BOOK_NYSE_OPEN_BOOK:
        {
            MsgNyseOpenBook* msg = (MsgNyseOpenBook*)message;
            if(msg->m_uNumberOfBuys > 0)
            {
                FillQuotes(true);
            }
            if(msg->m_uNumberOfSells > 0)
            {
                FillQuotes(false);
            }
        }
        break;

		case M_FLUSH_ALL:
        case M_FLUSH_ALL_OPEN_BOOKS:
        case M_FLUSH_BOOK_FOR_STOCK:
        FillQuotes(true);
        FillQuotes(false);
        break;


        case M_NW2_INSIDE_QUOTE:
        if(from == m_level1)
        {
            FillLevel1();
        }
        break;

//        case M_NW2_LAST_TRADE:
        case M_LAST_TRADE_SHORT:
        case M_TAL_LAST_TRADE:
        if(from == m_print)
        {
            FillPrints();
        }
        else if(from == m_level1)
        {
            FillLevel1();
        }
        break;
    }
}
Example #6
0
void wxDatabaseTableData::OnClickCancel(wxCommandEvent &event)
{

    ClearControls();
}