Ejemplo n.º 1
0
void
PriceList::performNew()
{
    ListView* list = currentList();

    bool isCost = (list == _cost);
    PriceMaster* master = new PriceMaster(_main, INVALID_ID, isCost);
    master->show();
}
Ejemplo n.º 2
0
void
PriceList::performEdit()
{
    ListView* list = currentList();
    Id price_id = currentId();

    bool isCost = (list == _cost);
    PriceMaster* master = new PriceMaster(_main, price_id, isCost);
    master->show();
}
Ejemplo n.º 3
0
void QTodoLists::listChange()
{
	if(current != currentListItem())
	{
		current = currentListItem();
		emit listChanged();
	}
	if(QTodoListViewItemSection* item = dynamic_cast<QTodoListViewItemSection*>(selectedItem()))
	{
		currentList()->setContentsPos(0,item->section()->y());
	}
}
Ejemplo n.º 4
0
void QTodoLists::sectionMenuActivated(int id)
{
	switch(id)
	{
		case MNID_GOTO_SECTION:
			if(QTodoListViewItemSection* item = dynamic_cast<QTodoListViewItemSection*>(selectedItem()))
			{
				currentList()->setContentsPos(0,item->section()->y());
			}
			break;
		default:
			break;
	}
}
Ejemplo n.º 5
0
void
PriceList::performPrint()
{
    QApplication::setOverrideCursor(waitCursor);
    qApp->processEvents();

    ListView* list = currentList();
    QString title = tr("Price List");
    if (list == _cost) title = tr("Cost List");

    Grid* grid = Grid::buildGrid(list, title);

    QApplication::restoreOverrideCursor();
    grid->print(this);
    delete grid;
}
Ejemplo n.º 6
0
void
AddressBook::performNew()
{
    QWidget* window = NULL;

    ListView* list = currentList();
    if (list == _customer) {
	window = new CustomerMaster(_main);
    } else if (list == _employee) {
	window = new EmployeeMaster(_main);
    } else if (list == _personal) {
	window = new PersonalMaster(_main);
    } else if (list == _vendor) {
	window = new VendorMaster(_main);
    }

    if (window) window->show();
}
Ejemplo n.º 7
0
void
AddressBook::performPrint()
{
    QApplication::setOverrideCursor(waitCursor);
    qApp->processEvents();

    ListView* list = currentList();
    QString title = tr("Address Book");
    if (list == _customer) title = tr("Customers");
    if (list == _vendor) title = tr("Vendors");
    if (list == _employee) title = tr("Employees");
    if (list == _personal) title = tr("Personal");

    Grid* grid = Grid::buildGrid(list, title);

    QApplication::restoreOverrideCursor();
    grid->print(this);
    delete grid;
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
void T_PresenceWatcherListManagement::T_HandlePresenceWatcherList_L()
    {
    EUNIT_PRINT( _L("Handle presence watcher list.") );

    BindL();
    SubscribeL();

    // ------------------------------------------------------
    // some startup stuff
    CXIMPTestContextWrapper* wrapper = iWrapperMgr->GetWrapperL( 0 );
    MXIMPContext* context = wrapper->GetContext();

    CXIMPTestListener* listener2 = CXIMPTestListener::NewL( context );
    CleanupStack::PushL( listener2 );
    // ------------------------------------------------------

    // Tell the protocol it should act normally
    wrapper->GetMessenger()->SetNoError();

    // ------------------------------------------------------
    // 1. Create faked server message about watcher list (empty)
    SendSrvMsgL( CXIMPTestFileSrvMsg::ETestSrvMsgPresenceWatcherList );

    // ------------------------------------------------------
    // expect empty MPresencewatcherList event.

    RPrWatLstInfoImpArray* currentList(NULL);
    CPresenceWatcherListEventImp* event = CreateWatcherListEventLCX(
            KNullDesC, KNullDesC,
        MXIMPDataSubscriptionState::ESubscriptionActive,
        MXIMPDataSubscriptionState::EDataAvailable,
        ETestPWlCurrent, currentList);

    listener2->ExpectL( event );
    CleanupStack::Pop( event ); // 3 more items in cleanupstack

    //Waqas: Fixed task Ticket#22
    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "HandlePresenceWatcherListL failed" );
    CleanupStack::PopAndDestroy( 3 ); // lists
    // ------------------------------------------------------


    // ------------------------------------------------------
    // 2. Create faked server message about watcher list (new)
    listener2->Reset();

    _LIT16( KWatcherUri1,      "http://carpe.diem.com" );
    _LIT16( KWatcherDispName1, "DispnameA, LoremI" );

    SendSrvMsgL( KWatcherUri1,
                 KWatcherDispName1,
                 CXIMPTestFileSrvMsg::ETestSrvMsgPresenceWatcherList );

    // ------------------------------------------------------
    // MPresencewatcherList event.

    currentList = NULL; // previous one was destroyed
    //Now create the actual event
    event = CreateWatcherListEventLCX(  // previous event was destroyed
            KWatcherUri1, KWatcherDispName1,
        MXIMPDataSubscriptionState::ESubscriptionActive,
        MXIMPDataSubscriptionState::EDataAvailable,
        ETestPWlNew, currentList);
    

    listener2->ExpectL( event );
    CleanupStack::Pop( event ); // 3 more items in cleanupstack

    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "HandlePresenceWatcherListL failed" );
    CleanupStack::PopAndDestroy( 3 ); // lists


    // ------------------------------------------------------
    // 3. Create faked server message about watcher list (disappeared)
    listener2->Reset();

    SendSrvMsgL( CXIMPTestFileSrvMsg::ETestSrvMsgPresenceWatcherList );
    // ------------------------------------------------------
    // MPresencewatcherList event.

    CXIMPIdentityImp* idForEvent = CXIMPIdentityImp::NewLC( KWatcherUri1 );
    // we need to create current list to give to the event
    currentList = new ( ELeave ) RPrWatLstInfoImpArray; // previous is destroyed
    CleanupDeletePushL( currentList );
            // create the group info
    CPresenceWatcherInfoImp* watcherInfoForEvent = 
                            CPresenceWatcherInfoImp::NewLC( (MPresenceWatcherInfo::TWatcherType)0, *idForEvent, KWatcherDispName1);
    currentList->AppendL( watcherInfoForEvent );
    CleanupStack::Pop( watcherInfoForEvent );
    CleanupStack::Pop( currentList );
    CleanupStack::PopAndDestroy( idForEvent );    


    //Now create the actual event
    event = CreateWatcherListEventLCX(
            KWatcherUri1, KWatcherDispName1,
        MXIMPDataSubscriptionState::ESubscriptionActive,
        MXIMPDataSubscriptionState::EDataAvailable,
        ETestPWlDisappeared, currentList);

    listener2->ExpectL( event );
    CleanupStack::Pop( event ); // 3 more items in cleanupstack

    //Waqas: Fixed task Ticket#22
    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "HandlePresenceWatcherListL failed" );

    CleanupStack::PopAndDestroy( 3 ); // lists


    // clean it up
    UnsubscribeL();
    
    /* TODO later on better time.
    // ------------------------------------------------------
    // 4. Create faked server message about watcher list (no subscribers to list)
    //    Make sure no event is 
    listener2->Reset();
    
    event = CreateWatcherListEventLCX(
            KNullDesC, KNullDesC,
            ETestPWlEmpty );

    //EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "HandlePresenceWatcherListL failed" );

    */
    CleanupStack::PopAndDestroy( listener2 );
    
    UnbindL();
    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// Subscribe, unsubscribe - Single client
void T_PresenceWatcherListManagement::T_SubscribePresenceWatcherList_Single_L()
    {

    EUNIT_PRINT( _L("Single client presence watcher list subscription") );

    BindL();

    CXIMPTestContextWrapper* wrapper = iWrapperMgr->GetWrapperL( 0 );
    MXIMPContext* context = wrapper->GetContext();
    CXIMPTestMessenger* messenger = wrapper->GetMessenger();

    CXIMPTestListener* listener2 = CXIMPTestListener::NewL( context );
    CleanupStack::PushL( listener2 );

    // Tell the protocol it should act normally
    messenger->SetNoError();

    // Get the interfaces
    MPresenceFeatures* presFeat = wrapper->GetPresenceFeatures();
    MPresencePublishing& presPub = presFeat->PresencePublishing();

    //-------------------------------------------------
    // subscribe

    // Setup status event listener for RequestComplete
    // ---------------------------------------------
    listener2->Reset();

    // normal request complete
    TXIMPRequestId reqIdDummy;  // not checked
    CXIMPRequestCompleteEventImp* evReqComplete = CXIMPRequestCompleteEventImp::NewLC( reqIdDummy );
    listener2->ExpectL( evReqComplete );
    CleanupStack::Pop( evReqComplete );


    // Subscribe
    TXIMPRequestId reqId = presPub.SubscribePresenceWatcherListL();

    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "Subscribe failed" );

    // verify that SubscribePresenceWatcherListL was called
    COMMONASSERT( messenger, EXIMPPlgTestSubscribePresenceWatcherListCalled, "SubscribePresenceWatcherListL was not called", ETrue, NULL );

    //-------------------------------------------------
    // refresh subscribe

    // Setup status event listener for RequestComplete
    listener2->Reset();

    evReqComplete = CXIMPRequestCompleteEventImp::NewLC( reqIdDummy );
    listener2->ExpectL( evReqComplete );
    CleanupStack::Pop( evReqComplete );

    RPrWatLstInfoImpArray* currentList(NULL);
    CPresenceWatcherListEventImp* event = CreateWatcherListEventLCX(
        KNullDesC, KNullDesC,
        MXIMPDataSubscriptionState::ESubscriptionActive,
        MXIMPDataSubscriptionState::EDataUnavailable,
        ETestPWlCurrent, currentList);
    listener2->ExpectL( event );
    CleanupStack::Pop(); //event 3 to go.
    // ---------------------------------------------

    // Subscribe second time
    reqId = presPub.SubscribePresenceWatcherListL();

    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "Refresh failed" );
    CleanupStack::PopAndDestroy( 3 ); // rest of the items.

    // verify that SubscribePresenceWatcherListL was called
    COMMONASSERT( messenger, EXIMPPlgTestSubscribePresenceWatcherListCalled, "SubscribePresenceWatcherListL was not called", ETrue, NULL );


    //-------------------------------------------------
    // unsubscribe

    // Setup status event listener for RequestComplete
    listener2->Reset();

    evReqComplete = CXIMPRequestCompleteEventImp::NewLC( reqIdDummy );
    listener2->ExpectL( evReqComplete );
    CleanupStack::Pop( evReqComplete );

    // register interest
    reqId = presPub.UnsubscribePresenceWatcherListL();

    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "Unsubscribe failed" );

    // verify that UnsubscribePresenceWatcherListL was called
    COMMONASSERT( messenger, EXIMPPlgTestUnsubscribePresenceWatcherListCalled, "UnsubscribePresenceWatcherListL was not called", ETrue, NULL );

    //-------------------------------------------------
    // unsubscribe nonsubscribed

    // Setup status event listener for RequestComplete
    listener2->Reset();

    evReqComplete = CXIMPRequestCompleteEventImp::NewLC( reqIdDummy );
    listener2->ExpectL( evReqComplete );
    CleanupStack::Pop( evReqComplete );

    // register interest
    reqId = presPub.UnsubscribePresenceWatcherListL();

    // Wait for events on the request
    EUNIT_ASSERT_DESC( KErrNone == listener2->WaitAndAssertL(), "Unsubscribe failed" );

    // verify that UpdateInterest was called
    COMMONASSERT( messenger, EXIMPPlgTestUnsubscribePresenceWatcherListCalled, "UnsubscribePresenceWatcherListL was not called", ETrue, NULL );



    listener2->SetEventSourceL( NULL );

    UnbindL();

    CleanupStack::PopAndDestroy( listener2 );
    }
Ejemplo n.º 10
0
	std::shared_ptr<ILoadableObject> ObjLoader::load(AssetManager *assetMgr, AssetInfo &asset)
	{
		shared_ptr<Node> node(new Node());

		std::string currentDir = std::string(asset.getFilePath());
		std::string nodeFileName = currentDir.substr(currentDir.find_last_of("\\/")+1);
		nodeFileName = nodeFileName.substr(0, nodeFileName.find_first_of(".")); // trim extension

		node->setName(nodeFileName);

		std::string line;
		while (std::getline(*asset.getStream(), line))
		{
			vector<string> tokens = split(line, ' ');
			tokens = removeEmptyStrings(tokens);

			if (tokens.size() == 0 || strcmp(tokens[0].c_str(), "#") == 0)
			{
			}
			else if (strcmp(tokens[0].c_str(), "v") == 0)
			{
				float x = parse<float>(tokens[1]);
				float y = parse<float>(tokens[2]);
				float z = parse<float>(tokens[3]);
				Vector3f vec(x, y, z);
				positions.push_back(vec);
			}
			else if (strcmp(tokens[0].c_str(), "vn") == 0)
			{
				float x = parse<float>(tokens[1]);
				float y = parse<float>(tokens[2]);
				float z = parse<float>(tokens[3]);
				Vector3f vec(x, y, z);
				normals.push_back(vec);
			}
			else if (strcmp(tokens[0].c_str(), "vt") == 0)
			{
				float x = parse<float>(tokens[1]);
				float y = parse<float>(tokens[2]);
				Vector2f vec(x, y);
				texCoords.push_back(vec);
			}
			else if (strcmp(tokens[0].c_str(), "f") == 0)
			{
				vector<ObjIndex> *c_idx = currentList();
				for (int i = 0; i < tokens.size() - 3; i++)
				{
					c_idx->push_back(parseObjIndex(tokens[1]));
					c_idx->push_back(parseObjIndex(tokens[2 + i]));
					c_idx->push_back(parseObjIndex(tokens[3 + i]));
				}
			}
			else if (strcmp(tokens[0].c_str(), "mtllib") == 0)
			{
				string libLoc = tokens[1];

				std::string currentDir = std::string(asset.getFilePath());
				currentDir = currentDir.substr(0, currentDir.find_last_of("\\/"));

				if (!contains(currentDir, "/") && !contains(currentDir, "\\"))	// the file path is just current file name,															   
				{																// so just make the string empty
					currentDir = "";
				}

				currentDir += "/" + libLoc;

				std::shared_ptr<MaterialList> mtlList = assetMgr->loadAs<MaterialList>(currentDir.c_str());
				this->mtlList = *mtlList.get();
			}
			else if (strcmp(tokens[0].c_str(), "usemtl") == 0)
			{
				string matname = tokens[1];
				newMesh(matname);
			}
		}

		for (int i = 0; i < objIndices.size(); i++)
		{
			vector<ObjIndex> *c_idx = objIndices[i];
			vector<Vertex> vertices;

			for (int j = 0; j < c_idx->size(); j++)
			{
				Vertex vert(positions[(*c_idx)[j].vertex_idx],
						   (hasTexCoords ? texCoords[(*c_idx)[j].texcoord_idx] : Vector2f()),
						   (hasNormals ? normals[(*c_idx)[j].normal_idx] : Vector3f()));

				vertices.push_back(vert);
			}

			shared_ptr<Mesh> mesh(new Mesh());
			mesh->setVertices(vertices);

			if (hasNormals)
				mesh->getAttributes().setAttribute(VertexAttributes::NORMALS);
			if (hasTexCoords)
				mesh->getAttributes().setAttribute(VertexAttributes::TEXCOORDS0);

			shared_ptr<Geometry> geom(new Geometry());
			geom->setName(names[i]);
			geom->setMesh(mesh);
			geom->setMaterial(materialWithName(namesMtl[i]));
			node->add(geom);

			delete c_idx;
		}

		return std::static_pointer_cast<ILoadableObject>(node);
	}
Ejemplo n.º 11
0
void
AddressBook::performRefresh()
{
    bool showInactive = _inactive->isChecked();
    int columns = _list->columns();
    if (showInactive && columns != 5) {
	_list->addCheckColumn(tr("Inactive?"));
	if (_customer != NULL)
	    _customer->addCheckColumn(tr("Inactive?"));
	if (_vendor != NULL)
	    _vendor->addCheckColumn(tr("Inactive?"));
	if (_employee != NULL)
	    _employee->addCheckColumn(tr("Inactive?"));
	if (_personal != NULL)
	    _personal->addCheckColumn(tr("Inactive?"));
	resize(width() + _list->columnWidth(4), height());
    }
    if (!showInactive && columns != 4) {
	resize(width() - _list->columnWidth(4), height());
	_list->removeColumn(4);
	if (_customer != NULL)
	    _customer->removeColumn(4);
	if (_vendor != NULL)
	    _vendor->removeColumn(4);
	if (_employee != NULL)
	    _employee->removeColumn(3);
	if (_personal != NULL)
	    _personal->removeColumn(3);
    }

    Id allId = currentId();
    Id customerId = currentId(_customer);
    Id employeeId = currentId(_employee);
    Id vendorId = currentId(_vendor);
    Id personalId = currentId(_personal);
    QListViewItem* allItem = NULL;
    QListViewItem* customerItem = NULL;
    QListViewItem* employeeItem = NULL;
    QListViewItem* vendorItem = NULL;
    QListViewItem* personalItem = NULL;
    clearLists();

    QString searchName = _name->text();
    QString searchNumber = _number->text();
    Id searchGroup = _group->getId();

    CardSelect conditions;
    conditions.activeOnly = !showInactive;
    if (!searchName.isEmpty())
	conditions.name = "%" + searchName + "%";
    if (!searchNumber.isEmpty())
	conditions.number = searchNumber;
    ListView* list = currentList();
    if (list == _customer)
	conditions.type = DataObject::CUSTOMER;
    else if (list == _employee)
	conditions.type = DataObject::EMPLOYEE;
    else if (list == _personal)
	conditions.type = DataObject::PERSONAL;
    else if (list == _vendor)
	conditions.type = DataObject::VENDOR;
    conditions.group_id = searchGroup;

    int count;
    _quasar->db()->count(count, conditions);
    if (count > 100) {
	setEnabled(true);
	QApplication::restoreOverrideCursor();

	QString message = tr("This will select %1 cards\n"
			     "which may be slow.  Continue?").arg(count);
	int ch = QMessageBox::warning(this, tr("Are You Sure?"), message,
				      QMessageBox::Yes, QMessageBox::No);
	if (ch != QMessageBox::Yes) return;

	setEnabled(false);
	QApplication::setOverrideCursor(waitCursor);
	qApp->processEvents();
    }

    vector<Card> cards;
    _quasar->db()->select(cards, conditions);
    _quasar->db()->cardBalances(QDate::currentDate(), _store->getId(),
				_cardIds, _balances);

    for (unsigned int i = 0; i < cards.size(); ++i) {
	Card& card = cards[i];
	fixed balance = 0.0;
	int type = card.dataType();

	if (type == DataObject::CUSTOMER || type == DataObject::VENDOR) {
	    for (unsigned int j = 0; j < _cardIds.size(); ++j) {
		if (_cardIds[j] == card.id()) {
		    balance = _balances[j];
		    break;
		}
	    }
	}

	if (type == DataObject::CUSTOMER && _customer == NULL)
	    continue;
	if (type == DataObject::VENDOR && _vendor == NULL)
	    continue;
	if (type == DataObject::EMPLOYEE && _employee == NULL)
	    continue;
	if (type == DataObject::PERSONAL && _personal == NULL)
	    continue;

	ListViewItem* lvi = new ListViewItem(_list, card.id());
	lvi->setValue(0, card.name());
	lvi->setValue(1, card.number());
	lvi->setValue(2, card.phoneNumber());
	lvi->setValue(3, card.dataTypeName());
	if (showInactive) lvi->setValue(4, !card.isActive());
	if (card.id() == allId) allItem = lvi;

	switch (type) {
	case DataObject::EMPLOYEE:
	    if (_employee != NULL) {
		lvi = new ListViewItem(_employee, card.id());
		lvi->setValue(0, card.name());
		lvi->setValue(1, card.number());
		lvi->setValue(2, card.phoneNumber());
		if (showInactive) lvi->setValue(3, !card.isActive());
		if (card.id() == employeeId) employeeItem = lvi;
	    }
	    break;
	case DataObject::CUSTOMER:
	    if (_customer != NULL) {
		lvi = new ListViewItem(_customer, card.id());
		lvi->setValue(0, card.name());
		lvi->setValue(1, card.number());
		lvi->setValue(2, card.phoneNumber());
		lvi->setValue(3, balance);
		if (showInactive) lvi->setValue(4, !card.isActive());
		if (card.id() == customerId) customerItem = lvi;
	    }
	    break;
	case DataObject::VENDOR:
	    if (_vendor != NULL) {
		lvi = new ListViewItem(_vendor, card.id());
		lvi->setValue(0, card.name());
		lvi->setValue(1, card.number());
		lvi->setValue(2, card.phoneNumber());
		lvi->setValue(3, balance);
		if (showInactive) lvi->setValue(4, !card.isActive());
		if (card.id() == vendorId) vendorItem = lvi;
	    }
	    break;
	case DataObject::PERSONAL:
	    if (_personal != NULL) {
		lvi = new ListViewItem(_personal, card.id());
		lvi->setValue(0, card.name());
		lvi->setValue(1, card.phoneNumber());
		if (showInactive) lvi->setValue(2, !card.isActive());
		if (card.id() == personalId) personalItem = lvi;
	    }
	    break;
	default:
	    assert(false);
	}
    }

    if (allItem == NULL)
	allItem = _list->firstChild();
    if (customerItem == NULL && _customer != NULL)
	customerItem = _customer->firstChild();
    if (employeeItem == NULL && _employee != NULL)
	employeeItem = _employee->firstChild();
    if (vendorItem == NULL && _vendor != NULL)
	vendorItem = _vendor->firstChild();
    if (personalItem == NULL && _personal != NULL)
	personalItem = _personal->firstChild();

    _list->setCurrentItem(allItem);
    _list->setSelected(allItem, true);
    if (_customer != NULL) {
	_customer->setCurrentItem(customerItem);
	_customer->setSelected(customerItem, true);
    }
    if (_employee != NULL) {
	_employee->setCurrentItem(employeeItem);
	_employee->setSelected(employeeItem, true);
    }
    if (_vendor != NULL) {
	_vendor->setCurrentItem(vendorItem);
	_vendor->setSelected(vendorItem, true);
    }
    if (_personal != NULL) {
	_personal->setCurrentItem(personalItem);
	_personal->setSelected(personalItem, true);
    }
}