コード例 #1
1
dmz::V8Value
dmz::JsModuleUiV8QtBasic::_tree_header_labels (const v8::Arguments &Args) {

   v8::HandleScope scope;
   V8Value result = v8::Undefined ();

   JsModuleUiV8QtBasic *self = _to_self (Args);
   if (self) {

      QTreeWidget *tree = self->v8_to_qobject<QTreeWidget> (Args.This ());
      if (tree) {

         QTreeWidgetItem *item = tree->headerItem ();

         if (Args.Length () && (Args[0]->IsArray ())) {

            V8Array array = v8_to_array (Args[0]);
            const int Length = array->Length ();
            for (int ix = 0; ix < Length; ++ix) {

               V8Value value = array->Get (v8::Integer::New (ix));
               item->setText (ix, v8_to_qstring (value));
            }
         }
      }
   }

   return scope.Close (result);
}
コード例 #2
0
ファイル: leyrat.cpp プロジェクト: Leystryku/leyrat
void leyrat::Callback_FileList(const char *ip, char**files, int numfiles)
{
    Log("[R][%s] Listed files!\n", ip);
    //you could also create it dinamically

    if(numfiles==1)
        return;

    QTreeWidget * tree = fbrowser->treeWidget;


    while(tree->topLevelItemCount())
    {
        tree->takeTopLevelItem(0);

    }

    QTreeWidgetItem* header = tree->headerItem();

    const QByteArray headerbytes = header->text(0).toLatin1();

    if(strcmp(files[0], "C:/*.*")!=0)
    {
        QTreeWidgetItem * item = new QTreeWidgetItem();
        item->setText(0, "..");
        tree->addTopLevelItem(item);

    }

    for(int i=1; i<numfiles; i++)
    {

        QTreeWidgetItem * item = new QTreeWidgetItem();

        if(!strcmp(files[i], "..")||!strcmp(files[i], "."))
            continue;

        item->setText(0, files[i]);
        tree->addTopLevelItem(item);
    }

    files[0][strlen(files[0])-3] = 0;

    header->setText(0, files[0]);
}