void QCheckBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { QSharedPointer<QRelayDeviceControl> pdev = qVariantValue<RelayDeviceSharePonterType>(index.data()); //QDeviceCheckBox *edit = qobject_cast<QDeviceCheckBox *>(editor); debuginfo(("check box set mode data.")); //pdev->is_checked = edit->isChecked(); model->setData(index, qVariantFromValue(pdev)); }
void QDeviceCheckBox::mousePressEvent ( QMouseEvent * event ) { //QCheckBox::mousePressEvent(event); if(event->buttons() & Qt::LeftButton) { debuginfo(("left button.")); bool check = this->isChecked(); check = !check; this->setCheckState(check?Qt::Checked:Qt::Unchecked); pdevice->is_checked = check; } //debuginfo(("mouse precess...%s",this->isChecked()?"true":"fasle")); }
/*创建tcp服务*/ int cretcpser(const char *ip, const int port, const int backlog) { int domain = AF_INET;//AF_INET6 目前没有使用IPV6 int socktype = SOCK_STREAM; int protocol = 0; int sockid = sock(domain, socktype, protocol); if (sockid < 0) { debuginfo("cretcpser->socket failed"); return -1; } int flags = 1; struct linger linger = {0, 0}; setsocketopt(sockid, SOL_SOCKET, SO_KEEPALIVE, (void *)&flags, sizeof(flags)); setsocketopt(sockid, SOL_SOCKET, SO_LINGER, (void *)&linger, sizeof(linger)); setsocketopt(sockid, SOL_SOCKET, SO_REUSEADDR, (void *)&flags, sizeof(flags)); // setsocketopt(sockid, IPPROTO_IP, TCP_NODELAY, (void *)&flags, sizeof(flags)); struct sockaddr_in sockaddr; memset(&sockaddr, 0, sizeof(struct sockaddr_in)); setsockaddrin(&sockaddr, domain, port, ip); if (bindsock(sockid, (struct sockaddr *)&sockaddr, sizeof(struct sockaddr_in)) != 0) { debuginfo("cretcpser->bindsock failed %d", errno); closesock(sockid); return -1; } if (listensock(sockid, backlog) == -1) { debuginfo("cretcpser->listensock failed"); closesock(sockid); return -1; } return sockid; }
/*接收*/ int acceptsock(int servfd) { struct sockaddr_in clisockaddr; int addrlen = sizeof(struct sockaddr_in); int clientsock = accept(servfd, (struct sockaddr *)&clisockaddr, (socklen_t *)&addrlen); if (clientsock < 0) { debuginfo("%s->%s failed clientsock=%d", "acceptconn", "accept", clientsock); return -1; } return clientsock; }
void interpret(struct command cmd) { switch(cmd.in) { case MOV: datareg[cmd.reg-1]=cmd.data; pc++; break; case ADD: datareg[0]=datareg[cmd.reg-1]+datareg[cmd.data-1]; pc++; break; case SUB: datareg[0]=datareg[cmd.reg-1]-datareg[cmd.data-1]; pc++; break; case MUL: datareg[0]=datareg[cmd.reg-1]*datareg[cmd.data-1]; pc++; break; case DIV: datareg[0]=datareg[cmd.reg-1]/datareg[cmd.data-1]; pc++; break; case JMP: pc = cmd.data; break; case LOOP: if(datareg[cmd.reg-1]>0) { datareg[cmd.reg-1]--; pc = cmd.data; } else pc++; break; case DIE: printf("You want to commit a suicide?!\n"); exit(0); break; case NOP: default: break; } debuginfo(); }
static uae_u8 ReadCIAA (unsigned int addr) { unsigned int tmp; compute_passed_time (); #ifdef CIA_DEBUG write_log("R_CIAA: %02.2X %08.8X\n", addr, m68k_getpc()); #endif switch (addr & 0xf) { case 0: #ifdef ACTION_REPLAY action_replay_ciaread(); #endif tmp = DISK_status() & 0x3c; tmp |= handle_joystick_buttons (ciaadra); tmp |= (ciaapra | (ciaadra ^ 3)) & 0x03; if (ciaadra & 0x40) tmp = (tmp & ~0x40) | (ciaapra & 0x40); if (ciaadra & 0x80) tmp = (tmp & ~0x80) | (ciaapra & 0x80); #ifdef DONGLE_DEBUG if (notinrom()) write_log ("BFE001 R %02.2X %s\n", tmp, debuginfo(0)); #endif return tmp; case 1: #ifdef PARALLEL_PORT if (isprinter () > 0) { tmp = ciaaprb; } else if (isprinter () < 0) { uae_u8 v; parallel_direct_read_data (&v); tmp = v; } else { tmp = handle_parport_joystick (0, ciaaprb, ciaadrb); } #else tmp = handle_parport_joystick (0, ciaaprb, ciaadrb); #ifdef DONGLE_DEBUG if (notinrom()) write_log ("BFE101 R %02.2X %s\n", tmp, debuginfo(0)); #endif #endif return tmp; case 2: #ifdef DONGLE_DEBUG if (notinrom ()) write_log ("BFE201 R %02.2X %s\n", ciaadra, debuginfo(0)); #endif return ciaadra; case 3: #ifdef DONGLE_DEBUG if (notinrom ()) write_log ("BFE301 R %02.2X %s\n", ciaadrb, debuginfo(0)); #endif return ciaadrb; case 4: return (uae_u8)((ciaata - ciaata_passed) & 0xff); case 5: return (uae_u8)((ciaata - ciaata_passed) >> 8); case 6: return (uae_u8)((ciaatb - ciaatb_passed) & 0xff); case 7: return (uae_u8)((ciaatb - ciaatb_passed) >> 8); case 8: if (ciaatlatch) { ciaatlatch = 0; return (uae_u8)ciaatol; } else return (uae_u8)ciaatod; case 9: if (ciaatlatch) return (uae_u8)(ciaatol >> 8); else return (uae_u8)(ciaatod >> 8); case 10: ciaatlatch = 1; ciaatol = ciaatod; /* ??? only if not already latched? */ return (uae_u8)(ciaatol >> 16); case 12: if (ciaasdr_unread == 1) ciaasdr_unread = 2; return ciaasdr; case 13: tmp = ciaaicr; ciaaicr = 0; RethinkICRA(); return tmp; case 14: return ciaacra; case 15: return ciaacrb; }