master3.3
Спиридонов Денис 12 years ago
parent 3f12f1efa7
commit d5a2f15adb

@ -14,11 +14,21 @@ from MainFrameResult import MainFrameRes
#class MainWgt(QtGui.QWidget):
class MainWgt(QtGui.QMainWindow):
size_x = 800
size_y = 800
# mainwidth = 600
def __init__(self, ClientObj):
super(MainWgt, self).__init__()
self.ClientObj = ClientObj
self.mainwidth = 600
self.initUI()
# self.size_x = 800
# self.size_y = 800
def set_wid (self, i):
if i:
self.mainwidth = i
def initUI(self):
# Создание нижнего статус бара
@ -34,16 +44,16 @@ class MainWgt(QtGui.QMainWindow):
self.topleft = LeftMenu(self, self.ClientObj)
# верхнее правое
self.main_frame = FrameConnection(self, self.ClientObj)
self.main_frame.resize(600,700)
self.main_frame.resize(self.mainwidth,self.size_y - 100)
# создание нижнего фрейма
self.bottom = StatusField(self)
self.bottom.resize(800,100)
self.bottom.resize(self.size_x,100)
# объединение в один виджет
self.splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal)
self.splitter1.addWidget(self.topleft)
self.splitter1.addWidget(self.main_frame)
self.splitter1.resize(800,700)
self.splitter1.resize(self.size_x, self.size_y - 100)
# self.splitter1.setGeometry(0, 0, 0, 140)
splitter2 = QtGui.QSplitter(QtCore.Qt.Vertical)
@ -61,7 +71,7 @@ class MainWgt(QtGui.QMainWindow):
self.move(200, 200)
self.resize(800,800)
self.resize(self.size_x, self.size_y)
self.setWindowTitle(self.ClientObj.WindowTitle)
def onChanged(self, text):
@ -81,11 +91,14 @@ class MainWgt(QtGui.QMainWindow):
try:
self.main_frame.hide()
self.main_frame.destroy()
del (self.main_frame)
except:
pass
self.main_frame = MainFrame(self, self.ClientObj, view, method_name)
self.main_frame.resize(600,700)
# print "11 MAINWIDTH = ", self.mainwidth
self.main_frame.resize(self.mainwidth, self.size_y - 100)
self.main_frame.MainFrameWgt.show()
# self.main_frame.update()
# self.main_frame.repaint()
@ -99,10 +112,29 @@ class MainWgt(QtGui.QMainWindow):
pass
self.main_frame = MainFrameRes(self, self.ClientObj, method_name, \
meth_result)
self.main_frame.resize(600,700)
# print "2 MAINWIDTH = ", self.mainwidth
self.main_frame.resize(self.mainwidth, self.size_y - 100)
self.main_frame.MainFrameWgt.show()
self.splitter1.addWidget(self.main_frame)
def resizeEvent(self, resize_var):
# print "###############",resize_var.size()
print "uuuuuuuuuuuuuu",resize_var.size().width()
# self.size_x = resize_var.size().width()
# self.size_y = resize_var.size().height()
# self.main_frame.resize(self.size_x - 200, self.size_y - 100)
self.MainFrameSize = self.main_frame.size()
self.set_wid (self.size().width())
try:
# print "1 MAINWIDTH = ", self.mainwidth
self.main_frame.MainFrameWgt.setFixedWidth(self.mainwidth - 30)
except:
pass
# def closeEvent(self, event):
## reply = QtGui.QMessageBox.question(self, 'Message',
## "Close your session?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No,\

@ -1,16 +1,16 @@
# -*- coding: utf-8 -*-
from PySide import QtGui, QtCore
from PySide.QtGui import QLabel, QLineEdit, QPushButton, QCheckBox, QGroupBox
from calculate.api.client.function import create_obj, get_sid, switch
from more import _, show_msg
from calculate.api.client.function import get_sid, switch
from more import show_msg
import sys, time
import time
class MainFrameResWgt(QtGui.QWidget):
work_layout = QtGui.QVBoxLayout()
def __init__(self, parent, ClientObj, method_name, meth_result):
super(MainFrameResWgt, self).__init__()
self.parent = parent
self.ClientObj = ClientObj
self.method_name = method_name
self.meth_result = meth_result
@ -19,6 +19,8 @@ class MainFrameResWgt(QtGui.QWidget):
# self.analysis(self.ClientObj.sid, meth_result)
# self.work_layout = QtGui.QVBoxLayout()
self.work_layout = QtGui.QVBoxLayout()
self.work_layout.addStretch(1)
self.title_lbl = QLabel(method_name)
self.work_layout.addWidget(self.title_lbl)
# self.work_layout.SizeConstraint.SetDefaultConstraint
@ -28,87 +30,48 @@ class MainFrameResWgt(QtGui.QWidget):
# Start analisys method
self.analysis(self.ClientObj.sid, meth_result)
#################API FUNCTION###############################
# self.connect \
# (self, QtCore.SIGNAL('resize()'), self.Resize)
################# API FUNCTION ###############################
def show_view(self, view):
print "+====== show view! ======+"
def show_table(self, table, item):
# print "+============== %-13s===========+" %item.message
#
# sys.stdout.flush()
#
# sys.stdout.write ("=========")
# for i in range (1, len(table.head[0])):
# sys.stdout.write ("===========")
# print
# # print head table
# for head in table.head[0]:
# sys.stdout.write(" %-6s | " %head)
# sys.stdout.write("\n")
#
# sys.stdout.write ("+=======+")
# for i in range (1, len(table.head[0])):
# sys.stdout.write ("==========+")
# print
#
# # print body table
# for line in table.body[0]:
# for i in line[0]:
# sys.stdout.write("%6s | " %i)
# sys.stdout.write("\n")
#
# sys.stdout.write ("+=======+")
# for i in range (1, len(table.head[0])):
# sys.stdout.write ("==========+")
# print
mytable = QtGui.QTableWidget(len(table.head[0]), len(table.body[0]))
mytable = QtGui.QTableWidget(len(table.body[0]), len(table.head[0]))
list_head = table.head[0]
mytable.setHorizontalHeaderLabels(list_head)
# mytable.setVerticalHeaderLabels (list_head)
for head in range(len(table.head[0])):
tablewidgetitem = QtGui.QTableWidgetItem(table.head[0][head])
mytable.setItem(0, head, tablewidgetitem)
for line in range(len(table.body[0])):
for i in range(len(table.body[0][line][0])):
tablewidgetitem = QtGui.QTableWidgetItem(table.body[0][line][0][i])
mytable.setItem(line, i, tablewidgetitem)
# for i in range(len(table.head[0])):
# for j in range(len(table.body[0])):
# tablewidgetitem = QtGui.QTableWidgetItem("%d,%d" %(i+1,j+1))
# mytable.setItem(i, j, tablewidgetitem)
# header = "item.message"
#
# data = [QtGui.QCheckBox("item 1"),
# QtGui.QCheckBox("item 2"),
# QtGui.QCheckBox("item 3"),
# QtGui.QCheckBox("item 4"),
# QtGui.QCheckBox("item 5")]
#
# model = TableModel(data, header)
# table.setModel(model)
self.work_layout.addWidget(mytable)
self.initUI()
def show_normal(self, item):
self.work_layout.addWidget(QLabel(item.message))
self.work_layout.addWidget(QLabel("tttttterrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrreeee"))
lbl_temp = QLabel(item.message)
lbl_temp.setWordWrap(True)
self.work_layout.addWidget(lbl_temp)
self.initUI()
def show_error(self, item):
self.work_layout.addWidget(QLabel("ERROR!\n" + item.message))
lbl_temp = QLabel("ERROR!\n" + item.message)
lbl_temp.setWordWrap(True)
lbl_temp.setStyleSheet("border-style: solid; border-width: 2px;border-color: #ff2222;");
self.work_layout.addWidget(lbl_temp)
self.initUI()
show_msg("ERROR!\n" + item.message)
# show_msg("ERROR!\n" + item.message)
def show_warning(self, item):
self.work_layout.addWidget(QLabel("WARNING!\n" + item.message))
lbl_temp = QLabel("WARNING!\n" + item.message)
lbl_temp.setWordWrap(True)
self.work_layout.addWidget(lbl_temp)
self.initUI()
def show_group(self, item):
@ -169,6 +132,7 @@ class MainFrameResWgt(QtGui.QWidget):
self.get_Progress(sid, pid, item.id)
return 1
if case('error'):
# for i in range (40):
self.show_error(item)
if item.message == "403 Forbidden":
return 0
@ -288,15 +252,17 @@ class MainFrameResWgt(QtGui.QWidget):
# def Resize(self):
# print "**********************************"
# self.setMinimumWidth(self.parent.width()-50)
# self.setLayout(self.work_layout)
# self.update()
def initUI(self):
def initUI(self):
# self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
self.setLayout(self.work_layout)
self.setFixedSize(self.width()-20, self.height())
# self.show()
self.update()
# self.update()
def calling(self):
pass
@ -307,7 +273,19 @@ class MainFrameResWgt(QtGui.QWidget):
class MainFrameRes (QtGui.QScrollArea):
def __init__(self, parent, ClientObj, method_name, meth_result):
QtGui.QScrollArea.__init__(self)
self.parent = parent
# верхнее правое
self.MainFrameWgt = MainFrameResWgt(self, ClientObj, method_name, \
meth_result)
# self.MainFrameWgt.setMinimumWidth(self.width()-50)
self.setWidget(self.MainFrameWgt)
def resizeEvent(self, resize_var):
# print "MMMMMMMMMMMMMMMMMMM"
self.parent.set_wid (self.size().width())
# print "3 MAINWIDTH = ", self.parent.mainwidth
self.MainFrameWgt.setFixedWidth(self.parent.mainwidth - 30)
# self.parent.MainFrameSize = self.parent.main_frame.size()

@ -43,6 +43,8 @@ class Conn(QtGui.QWidget):
self.cmd_connect = QtGui.QPushButton('Connect')
self.cmd_connect.setMaximumWidth(100)
grid.addWidget(self.cmd_connect, 3, 2)
self.cmd_connect.connect \
@ -54,6 +56,7 @@ class Conn(QtGui.QWidget):
# establish a connection
def onClick(self):
clear()
# write parameters
self.str_host = self.text_host.text()
self.str_port = self.text_port.text()
@ -153,9 +156,21 @@ class Conn(QtGui.QWidget):
class FrameConnection (QtGui.QScrollArea):
def __init__(self, parent, ClientObj):
self.parent = parent
self.ClientObj = ClientObj
QtGui.QScrollArea.__init__(self)
# верхнее правое
connection = Conn(self.ClientObj)
self.setWidget(connection)
# self.resize(700,900)
self.connection = Conn(self.ClientObj)
self.setWidget(self.connection)
# self.resize(700,900)
def resizeEvent(self, resize_var):
# print "22 MAINWIDTH = ", self.parent.mainwidth
# print "RRRRRRRRRRRRRRRRRRRRR"
if self.size().width() > 30:
self.connection.setFixedWidth(self.size().width() - 30)
# print "RRRRRRRREEEEEEEEEEEEEE"
# self.parent.MainFrameSize = self.size()
self.parent.set_wid (self.size().width())

@ -1,18 +1,19 @@
# -*- coding: utf-8 -*-
from PySide import QtGui, QtCore
from PySide import QtGui
from PySide.QtGui import QPushButton
#from PySide.QtCore import SIGNAL
class ButtonMap (QtGui.QPushButton):
name = ""
def __init__ (self, name, parent=None):
self.name = name
super(ButtonMap, self).__init__(name, parent)
self.clicked.connect(self.buttonclick)
but_click = QtCore.Signal(str)
def buttonclick(self):
self.but_click.emit(self.name)
#class ButtonMap (QtGui.QPushButton):
# name = ""
# def __init__ (self, name, parent=None):
# self.name = name
# super(ButtonMap, self).__init__(name, parent)
# self.clicked.connect(self.buttonclick)
#
# but_click = QtCore.Signal(str)
# def buttonclick(self):
# self.but_click.emit(self.name)
class left_menu(QtGui.QWidget):
@ -38,9 +39,9 @@ class left_menu(QtGui.QWidget):
self.lable_list.append(QtGui.QLabel('-- '+results[num][RES][COM], self))
button_text = results[num][RES][METH]
Button = ButtonMap(button_text)
Button = QPushButton(button_text)
Button.but_click.connect(self.onActivated)
Button.clicked.connect(self.onActivated)
self.button_list.append(Button)
self.layout.addWidget(self.lable_list[num])
@ -52,10 +53,12 @@ class left_menu(QtGui.QWidget):
def refresh(self, results):
self.initUI(results)
def onActivated(self, method_name):
print method_name
def onActivated(self):
# print method_name
method_name = self.sender().text()
view = self.ClientObj.client.service[0][method_name + '_view']()
print view
# print view
# self.ClientObj.MainWidget.main_frame.MainFrameWgt.refresh \
# (ClientObj.methods_list)
self.ClientObj.MainWidget.main_frame_view(view, method_name)

@ -22,9 +22,15 @@ class MFWgt(QtGui.QWidget):
self.view_dict = {}
self.radio_dict = {}
self.ButGrp_dict = {}
self.param_object = create_obj(self.ClientObj.client, self.method_name)
list_param = dir (self.param_object)
# import ipdb
# ipdb.set_trace()
param_list = []
for param in list_param:
@ -70,27 +76,69 @@ class MFWgt(QtGui.QWidget):
self.view_dict[field.name] = QCheckBox(field.name, self)
self.grid.addWidget(self.view_dict[field.name], x, y+1)
x += 1
# while 1:
# bool_var = raw_input(field.label+' (y/n): ')
# if bool_var.lower() in ['y','yes']:
# self.param_object[field.name] = True
# break
# if bool_var.lower() in ['n','no']:
# self.param_object[field.name] = False
# break
# print _('Enter "Yes" or "No"!')
#
# elif field.element == 'radio':
# choice = field.choice[0]
#
# self.GroupBox = QGroupBox(field.name)
# layout = QtGui.QVBoxLayout()
# radiolist = []
#
# def temp(self):
# def wrapper():
## import ipdb
## ipdb.set_trace()
# self.view_dict[field.name] = 22#QtGui.QRadioButton.sender().text()
# print "EEEEEEEEEE", self.view_dict[field.name]
# return wrapper
#
# for i in range(0,len(choice)):
# radiolist.append (QtGui.QRadioButton(choice[i]))
# layout.addWidget(radiolist[i])
# radiolist[i].clicked.connect(temp(self))
#
#
## QtGui.QButtonGroup.buttonClicked.connect(temp(self))
## radiolist[0].setChecked(True)
#
# layout.addStretch(1)
# self.GroupBox.setLayout(layout)
#
# self.view_dict[field.name] = self.GroupBox
# self.grid.addWidget(self.view_dict[field.name], x, y+1)
# x += 1
elif field.element == 'radio':
choice = field.choice[0]
self.GroupBox = QGroupBox(field.name)
self.GroupBox = QGroupBox(field.label)
self.ButGrp_dict[field.name] = QtGui.QButtonGroup()
layout = QtGui.QVBoxLayout()
radiolist = []
# def temp(self):
# def wrapper():
# pass
## import ipdb
## ipdb.set_trace()
## print "$$$$$$$$$$", field.name
## self.view_dict[field.name] = str(self.QButGrp.checkedButton().text())
## print "EEEEEEEEEE", self.view_dict[field.name], field.name
# return wrapper
for i in range(0,len(choice)):
radiolist.append (QtGui.QRadioButton(choice[i]))
self.ButGrp_dict[field.name].addButton(radiolist[i])
layout.addWidget(radiolist[i])
radiolist[0].setChecked(True)
# radiolist[i].clicked.connect(temp(self))
# self.ButGrp_dict[field.name].buttonClicked.connect(temp(self))
self.radio_dict[field.name] = self.ButGrp_dict[field.name]
# QtGui.QButtonGroup.buttonClicked.connect(temp(self))
# radiolist[0].setChecked(True)
layout.addStretch(1)
self.GroupBox.setLayout(layout)
@ -98,6 +146,7 @@ class MFWgt(QtGui.QWidget):
self.grid.addWidget(self.view_dict[field.name], x, y+1)
x += 1
# choice = field.choice[0]
# while 1:
# print _('Select one: ')
@ -125,8 +174,18 @@ class MFWgt(QtGui.QWidget):
print field_name
print type (self.view_dict[field_name])
if type (self.view_dict[field_name]) == str:
print "22222222222"
self.param_object[field_name] = self.view_dict[field_name]
print self.param_object[field_name]
if type (self.view_dict[field_name]) == QGroupBox:
print 11111
self.param_object[field_name] = self.ButGrp_dict[field_name].checkedButton().text()
# self.param_object[field_name] = self.view_dict[field_name]
print self.param_object[field_name]
# w = self.view_dict[field_name]
# import ipdb
# ipdb.set_trace()
@ -147,6 +206,9 @@ class MFWgt(QtGui.QWidget):
# self.view_dict[field.name]
print self.method_name, "$$$$$$$$$$$$$$$$"
# import ipdb
# ipdb.set_trace()
print self.param_object
self.ClientObj.sid = get_sid(self.ClientObj.client.SID_FILE)
meth_result = self.ClientObj.client.service[0][self.method_name] \
(self.ClientObj.sid, self.param_object)
@ -160,9 +222,16 @@ class MFWgt(QtGui.QWidget):
class MainFrame (QtGui.QScrollArea):
def __init__(self, parent, ClientObj, view, method_name):
self.parent = parent
self.ClientObj = ClientObj
QtGui.QScrollArea.__init__(self)
# верхнее правое
self.MainFrameWgt = MFWgt(self, ClientObj, view, method_name)
self.setWidget(self.MainFrameWgt)
# self.show()
def resizeEvent(self, resize_var):
if self.size().width() > 30:
self.MainFrameWgt.setFixedWidth(self.size().width() - 30)
self.parent.set_wid (self.size().width())
# self.parent.MainFrameSize = self.parent.main_frame.size()

@ -64,7 +64,7 @@ def https_server(client, signaling, ClientObj):
get_entire_frame(client)
#create_obj(client, "install_system")
show_msg("Connection OK!")
# show_msg("Connection OK!")
# while True:
# try:

@ -8,10 +8,8 @@ from calculate.api.gui.ClientClass import ApiClient
app = QtGui.QApplication(sys.argv)
ClientObj = ApiClient()
ex = ClientObj.MainWidget
#f = QtGui.QStyleFactory().create('Motif')
#ex.setStyle(f)
#ex.setStyle('Windows')
ex.show()
sys.exit(app.exec_())
Loading…
Cancel
Save