int main()
{
    /* regular cast */
//    float d=3.14159265;
//    int i = static_cast<int>(d);
//    cout << "i = " << i << endl << endl;




    for( int n = 0; n < 5; ++n )
    {
        Base* base = CreateRandom();

        base->DoIt();

        Bar* bar = static_cast<Bar*>(base);
        Foo* foo = static_cast<Foo*>(base);
        if( bar )
            bar->BarIt();
        if( foo )
            foo->FooIt();
        delete base;
        base = NULL;

        printf("-------------STATIC_CAST-------------- \n");
    }

    return 0;
}
Exemple #2
0
void FormView::AlignObjectMenu(Bar& bar)
{
	bar.Add(t_("Top "), THISBACK(AlignTopSelection));
	bar.Add(t_("Left"), THISBACK(AlignLeftSelection));
	bar.Add(t_("Right"), THISBACK(AlignRightSelection));
	bar.Add(t_("Bottom "), THISBACK(AlignBottomSelection));
}
void NoteEntryAction::renderKeyboardPreview(QPainter& painter, const MusicCursor& cursor)
{
    Staff* staff = cursor.staff();
    Part* part = staff->part();
    Sheet* sheet = part->sheet();
    Bar* bar = sheet->bar(cursor.bar());
    QPointF p = bar->position() + QPointF(0, staff->top());
    Voice* voice = cursor.staff()->part()->voice(cursor.voice());
    VoiceBar* vb = voice->bar(bar);

    if (cursor.element() >= vb->elementCount()) {
        // cursor is past last element in bar, position of cursor is
        // halfway between last element and end of bar
        if (vb->elementCount() == 0) {
            // unless entire voicebar is still empty
            p.rx() += 15.0;
        } else {
            VoiceElement* ve = vb->element(vb->elementCount()-1);
            p.rx() += (ve->x() + bar->size()) / 2;
        }
    } else {
        // cursor is on an element, get the position of that element
        p.rx() += vb->element(cursor.element())->x();
    }

    p.ry() += (cursor.staff()->lineCount() - 1)* cursor.staff()->lineSpacing();
    p.ry() -= cursor.staff()->lineSpacing() * cursor.line() / 2;

    m_tool->shape()->renderer()->renderNote(painter, m_duration < QuarterNote ? QuarterNote : m_duration, p, 0, Qt::magenta);
}
Exemple #4
0
int main( int argc, char **argv )
{
    co::BufferCache cache( 10 );
    co::LocalNodePtr node = new co::LocalNode;

    const uint64_t size = co::OCommand::getSize();
    co::BufferPtr buffer = cache.alloc( co::Buffer::getCacheSize( ));
    buffer->resize( size );
    reinterpret_cast< uint64_t* >( buffer->getData( ))[ 0 ] = size;

    co::ICommand command( node, node, buffer, false );
    command.setType( co::COMMANDTYPE_NODE );
    command.setCommand( co::CMD_NODE_CUSTOM );

    Bar bar;
    FooBar fooBar;
    BarFoo barFoo;

    bar.dispatchCommand( command );
    fooBar.dispatchCommand( command );
    barFoo.dispatchCommand ( command );
    TESTINFO( calls == 3, calls );

    return EXIT_SUCCESS;
}
Exemple #5
0
int main(int argv, char **args)
{
    QApplication app(argv, args);

    CodeEditor editor;
    editor.setWindowTitle(QObject::tr("Code Editor Example"));
    editor.show();

    Window w;
    w.show();

    Foo foo;
    foo.doFoo();

    Blub b;
    b.blubber();

    Bar bar;
    bar.doBar();

    Abc abc;
    abc.doAbc();

    Xyz xyz;
    xyz.doXyz();

    Yaf yaf;
    yaf.doYaf();

    LibC lc;
    lc.foo();

    return app.exec();
}
int _tmain(int argc, _TCHAR* argv[])
{
	Vertex3d* pv3d = new Vertex3d;
	Point2d* p2d = pv3d;
	p2d->z();

	// 子类到第二个基类的指针转换
	Vertex* pv = pv3d;

	// virtual function的调用
	pv->vfun2();
    /*
        vptr vptr_Vertex = *((vptr*)pv);
        (*(vptr + 1))(pv);
    */
	_asm
	{
		mov eax, dword ptr [pv] 
		mov edx, dword ptr [eax] 
		mov eax, dword ptr [edx + 4] 
		call eax  
	}

	// Bar的基类是一个没有virtual function的struct
	// 可看出vptr被放在了起始处
	Bar* pb = new Bar;
	pb->fun();
	Foo* pf = pb;

	return 0;
}
Exemple #7
0
void FormEdit::CreateMenuBar(Bar& bar)
{
	bar.Add(t_("File"), THISBACK(FileBar));
	bar.Add(t_("Item"), THISBACK(ItemBar));
	bar.Add(t_("Form"), THISBACK(FormBar));
	bar.Add(t_("View"), THISBACK(ViewBar));
}
void FuturesDialog::slotFirstRecord ()
{
  Bar record;
  db->getFirstBar(record);
  if (record.getEmptyFlag())
    return;
  updateFields(record);
}
Exemple #9
0
void SelectPackageDlg::PackageMenu(Bar& menu)
{
	bool b = GetCurrentName().GetCount();
	menu.Add("New package..", THISBACK(OnNew));
	menu.Separator();
	menu.Add(b, "Rename package..", THISBACK(RenamePackage));
	menu.Add(b, "Delete package", THISBACK(DeletePackage));
}
Exemple #10
0
 void testAddBar()
 {
     Bar* bar = sheet->addBar();
     
     QCOMPARE(bar->sheet(), sheet);
     QCOMPARE(sheet->barCount(), 1);
     QCOMPARE(sheet->bar(0), bar);
 }
void FuturesDialog::slotNextRecord ()
{
  Bar record;
  db->getNextBar(currentDate, record);
  if (record.getEmptyFlag())
    return;
  updateFields(record);
}
Exemple #12
0
void Puzzle::GameMenu(Bar& bar)
{
    bar.Add(t_("New game"), THISBACK(New));
    bar.Add(t_("Setup.."), THISBACK(Setup));
    bar.Add(t_("Best scores.."), THISBACK(Scores));
    bar.Separator();
    bar.Add(t_("Exit"), Breaker());
}
void test3()
 {
  using namespace AM3359::CONTROL;

  Bar bar;

  Printf(Con,"#;\n",bar.get_Conf_GPMC_A9());
 }
void StocksDialog::slotPrevRecord ()
{
    Bar record;
    db->getPrevBar(currentDate, record);
    if (record.getEmptyFlag())
        return;
    updateFields(record);
}
void StocksDialog::slotDateSearch (QDateTime dt)
{
    Bar record;
    db->getSearchBar(dt, record);
    if (record.getEmptyFlag())
        return;
    updateFields(record);
}
void StocksDialog::slotLastRecord ()
{
    Bar record;
    db->getLastBar(record);
    if (record.getEmptyFlag())
        return;
    updateFields(record);
}
Exemple #17
0
void LayoutDesigner::MainBar(Bar& bar) {
	bar.Add("File", THISBACK(FileBar));
	bar.Add("Edit", THISBACK(EditBar));
	bar.Add("Layout", THISBACK(LayoutBar));
	bar.Add("Language", THISBACK(LangBar));
	bar.Add("Item", THISBACK(ItemBar));
	bar.Add("Options", THISBACK(OptionsBar));
}
int main() {
  // Foo foo = anotherWay();
  // foo's pointer now points to something on the stack that is not there any more.
  // foo.print();

  //  Bar bar = anotherBar();
  Bar bar = Bar("Hundeprute");
  bar.print();
}
Exemple #19
0
void App::SetupMenu(Bar& menu)
{
	menu.Add(AK_ENGLISH, [=] { SetLang(LNGC_('E','N','U','S', CHARSET_UTF8)); })
	    .Radio(GetCurrentLanguage() == LNGC_('E','N','U','S', CHARSET_UTF8));
	menu.Add(AK_CZECH, [=] { SetLang(LNGC_('C','S','C','Z', CHARSET_UTF8)); })
	    .Radio(GetCurrentLanguage() == LNGC_('C','S','C','Z', CHARSET_UTF8));
	menu.Separator();
	menu.Add(AK_KEYS, [=] { EditKeys(); });
}
Exemple #20
0
void FormEdit::FormBar(Bar& bar)
{
	bar.Add(t_("Change form settings..."), FormViewImg::LayoutProperties(), THISBACK(OpenLayoutProperties))
		.Enable(_View.IsLayout())
		.Tip(t_("Change form settings..."));
	bar.Add(t_("Preview"), FormViewImg::Layout(), THISBACK(TestLayout))
		.Enable(_View.IsLayout())
		.Tip(t_("Preview"));
}
Exemple #21
0
void StyleManager::Menu(Bar& bar)
{
	bar.Add(t_("Create new style.."), THISBACK(Create))
	   .Key(K_INSERT);
	bar.Add(t_("Remove style"), THISBACK(Remove))
	   .Key(K_DELETE);
	bar.Add(t_("Rename.."), callback(&list, &ArrayCtrl::DoEdit))
	   .Key(K_CTRL_ENTER);
}
Exemple #22
0
void IdeIconDes::EditMenu(Bar& bar)
{
	EditBar(bar);
	ToolEx(bar);
	bar.Add(IsSingleMode() ? "PNG" : "List", THISBACK(ListMenu));
	bar.Add("Selection", THISBACK(SelectBar));
	bar.Add("Image", THISBACK(ImageBar));
	bar.Add("Draw", THISBACK(DrawBar));
	bar.Add("Settings", THISBACK(SettingBar));
}
Exemple #23
0
int main()
{
    Foo foo;
    Bar bar;
    foo.registerFnPointer();
    bar.registerFnPointer();
    
    ControllerClass::function_vector[0]();
    ControllerClass::function_vector[1]();
}
Exemple #24
0
void LayoutDesigner::OptionsBar(Bar& bar) {
	bar.Add("Alias map", THISBACK(SetupAlias));
	bar.Add("Use grid", TB_GRID(), THISBACK(ToggleGrid))
		.Check(usegrid);
	bar.Add("Grid settings..", THISBACK(SetupGrid));
	bar.Add("Ignore min size", THISBACK(ToggleIgnoreMin))
		.Check(ignoremin);
	bar.Add("QLIB2 output", THISBACK(ToggleQLIB2Output))
		.Check(qlib2_output);
}
Exemple #25
0
int main() {

    std::cout << "Testing..." << std::endl;

    Bar b;
    b.altSetX(4);
    std::cout << b.getX() << std::endl;

    return 0;
}
Exemple #26
0
void Ide::BuildPackageMenu(Bar& menu)
{
	int pi = GetPackageIndex();
	bool b = !IdeIsDebugLock() && idestate == EDITING && pi >= 0 && pi < IdeWorkspace().GetCount();
	menu.Add(b, AK_BUILDPACKAGE, THISBACK(PackageBuild))
		.Help("Build current package");
	menu.Add(b, AK_CLEANPACKAGE, THISBACK(PackageClean))
		.Help("Remove all intermediate files of the current package");
	menu.MenuSeparator();
}
Exemple #27
0
void Ide::SetupMobilePlatforms(Bar& menu)
{
	AndroidSDK androidSDK(androidSDKPath);
	
	if(androidSDK.Validate()) {
		menu.Separator();
		menu.Add("Android", THISBACK1(SetupAndroidMobilePlatform, androidSDK));
	}
	
}
// bar list context menu
void XMLBarsEditor::barContextCb(Bar &bar)
{
	// get current selection
	bar.Add(t_("Add new bar"), THISBACK(barContextAddCb));
	int i = barListPane.barList.GetCursor();
	if(i < 0)
		return;
	String barName = barListPane.barList.Get(i);
	bar.Add(Format(t_("Remove bar '%s'"), barName), THISBACK(barContextRemoveCb));
}
Exemple #29
0
void DbPlugin::getHistory (BarData *barData, QDateTime &startDate)
{
  switch (type)
  {
    case Index1:
      getIndexHistory(barData, startDate);
      barData->createDateList();
      return;
      break;
    case Spread1:
      getSpreadHistory(barData, startDate);
      barData->createDateList();
      return;
      break;
    case CC1:
      getCCHistory(barData, startDate);
      barData->createDateList();
      return;
      break;
    default:
      break;
  }

  DBT key, data;
  DBC *cur;
  memset(&key, 0, sizeof(DBT));
  memset(&data, 0, sizeof(DBT));

  DBBar dbbar;
  memset(&dbbar, 0, sizeof(DBBar));
  data.data = &dbbar;
  data.ulen = sizeof(DBBar); 
  data.flags = DB_DBT_USERMEM;  

  db->cursor(db, NULL, &cur, 0);

  QString s = startDate.toString("yyyyMMddhhmmss");
  key.data = (char *) s.latin1();
  key.size = s.length() + 1;
  cur->c_get(cur, &key, &data, DB_SET_RANGE);

  while (! cur->c_get(cur, &key, &data, DB_PREV))
  {
    if (barData->count() >= barRange)
      break;
    Bar bar;
    s = (char *) key.data;
    getBar(dbbar, s, bar);
    bar.setTickFlag(barData->getBarType());
    barData->prepend(bar);
  }
  
  cur->c_close(cur);
  barData->createDateList();
}
Exemple #30
-1
int main ()
{
  Bar b;

  b.f ();// { dg-error "no matching" } 
  b.f (10);
}