コード例 #1
0
class TestWord(unittest.TestCase):
    def setUp(self):
        self.d1 = DataManager()

        self.wd1 = Word('software', '소프트웨어', (True, self.d1))
        self.wd2 = Word('project', '프로젝트', (True, self.d1))

        self.d1.words = [self.wd1, self.wd2]

    def tearDown(self):
        pass

    def testWords(self):
        wd3 = Word('clear', '끝')
        self.d1.wordAdd(wd3)
        self.assertEqual(self.d1.getWords(), [self.wd1, self.wd2, wd3])

        wd4 = Word('bye', '안녕')
        self.d1.wordAdd(wd4)
        self.assertTrue(
            isListSame(self.d1.getWords(), [self.wd1, self.wd2, wd3, wd4]))
        self.d1.wordDelete(self.wd2)
        self.assertTrue(isListSame(self.d1.getWords(), [self.wd1, wd3, wd4]))
        self.d1.wordDelete(wd4)
        self.assertTrue(isListSame(self.d1.getWords(), [self.wd1, wd3]))
        self.assertTrue(isListSame(self.d1.getFocusedWords(), [self.wd1]))

        self.d1.saveAllWords()
        self.d1.readAllWords()
        self.assertTrue(
            isListSameOfIsWordSame(self.d1.getWords(), [self.wd1, wd3]))
        self.assertTrue(
            isListSameOfIsWordSame(self.d1.getFocusedWords(), [self.wd1]))
コード例 #2
0
class WindowsManager:
    def __init__(self, pushsendingstart):
        self.dataManager = DataManager()
        topic, intervalStart, intervalEnd = self.dataManager.readAllSettings()

        self.webCrawler = WebCrawler()
        self.pushSender = PushSender(self.dataManager, "default")

        if pushsendingstart:
            self.pushSender.pushSendingThreadStart()

        self.nowListedWords = self.getAllWords()

        self.mainWindow = MainWindow(self)
        self.memorizeWindow = MemorizeWindow(self)
        self.settingWindow = SettingWindow(self)
        self.settingWindow.settingLoad(topic, intervalStart, intervalEnd)

        self.mainWindow.showWindow()
        self.memorizeWindow.hideWindow()
        self.settingWindow.hide()

    def getAllWords(self):
        return self.dataManager.getWords()

    def setNowListedWords(self, to_this):
        self.nowListedWords = to_this

    def getNowListedWords(self):
        return self.nowListedWords

    def memorizeModeStart(self):
        self.memorizeWindow.showWindow()

    def memorizeModeEnd(self):
        self.memorizeWindow.hideWindow()

    def qButtonMaker(self, name, callback, fixedSize=None, sizePolicy=None):
        bt = QToolButton()
        bt.setText(name)
        bt.clicked.connect(callback)

        if fixedSize is not None:
            wid, hei = fixedSize
            if wid == -1:
                bt.setFixedHeight(hei)
            elif hei == -1:
                bt.setFixedWidth(wid)
            else:
                bt.setFixedSize(fixedSize[0], fixedSize[1])

        if sizePolicy is not None:
            bt.setSizePolicy(sizePolicy[0], sizePolicy[1])

        return bt

    def qTextWidgetSetter(self,
                          widget,
                          startText,
                          isReadOnly,
                          alignment=None,
                          fixedSize=None,
                          sizePolicy=None,
                          fontSizeUp=0):
        widget.setText(startText)
        widget.setReadOnly(isReadOnly)

        if alignment is not None:
            widget.setAlignment(alignment)

        if fixedSize is not None:
            wid, hei = fixedSize
            if wid == -1:
                widget.setFixedHeight(hei)
            elif hei == -1:
                widget.setFixedWidth(wid)
            else:
                widget.setFixedSize(fixedSize[0], fixedSize[1])

        if sizePolicy is not None:
            widget.setSizePolicy(sizePolicy[0], sizePolicy[1])

        if fontSizeUp != 0:
            font = widget.font()
            font.setPointSize(font.pointSize() + fontSizeUp)
            widget.setFont(font)

        return widget