exman       05/12/12 13:48:02

  Log:
  import EnterThePet Viewer
  
  Status:
  
  Vendor Tag:	simin
  Release Tags:	head
  
  N etp/list.py
  N etp/etp.pyw
  N etp/ggorroworks.py
  N etp/setup.py
  N etp/ggorroworks.ico
  N etp/ggorroworks.png
  
  No conflicts created by this import


exman       05/12/13 01:02:52

  Modified:    .        etp.pyw
  Added:       .        etp.png
  Log:
  add splash window
  
  Revision  Changes    Path
  1.2       +35 -4     etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- etp.pyw	12 Dec 2005 04:48:02 -0000	1.1
  +++ etp.pyw	12 Dec 2005 16:02:52 -0000	1.2
  @@ -21,6 +21,39 @@
       else:
           return message
   
  +class MySplashScreen(wx.SplashScreen):
  +    def __init__(self):
  +        bmp = wx.Image("etp.png").ConvertToBitmap()
  +        wx.SplashScreen.__init__(self, bmp,
  +                                 wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
  +                                 5000, None, -1)
  +        self.Bind(wx.EVT_CLOSE, self.OnClose)
  +        self.fc = wx.FutureCall(2000, self.ShowMain)
  +
  +
  +    def OnClose(self, evt):
  +        # Make sure the default handler runs too so this window gets
  +        # destroyed
  +        evt.Skip()
  +        self.Hide()
  +        
  +        # if the timer is still running then go ahead and show the
  +        # main frame now
  +        if self.fc.IsRunning():
  +            self.fc.Stop()
  +            self.ShowMain()
  +
  +
  +    def ShowMain(self):
  +        frame = MyFrame(None, tr("::ggorroworks:: Enter the pet"))
  +        frame.Show(True)
  +
  +        if self.fc.IsRunning():
  +            self.Raise()
  +
  +
  +
  +
   (TLProgressEvent, EVT_TL_PROGRESS) = wx.lib.newevent.NewEvent()
   (DLProgressEvent, EVT_DL_PROGRESS) = wx.lib.newevent.NewEvent()
   (AddDownloadEvent, EVT_ADD_DOWNLOAD) = wx.lib.newevent.NewEvent()
  @@ -411,10 +444,8 @@
               dlg.ShowModal()
               dlg.Destroy()
               return False
  -
  -        frame = MyFrame(None, tr("::ggorroworks:: Enter the pet"))
  -        self.SetTopWindow(frame)
  -        frame.Show(True)
  +        sp = MySplashScreen()
  +        sp.Show()
           return True
           
   app = MyApp(redirect=False)
  
  
  
  1.1                  etp/etp.png
  
  	<<Binary file>>
  
  


exman       05/12/13 01:27:33

  Modified:    .        etp.pyw
  Log:
  add ggorro.com browser
  
  Revision  Changes    Path
  1.3       +25 -6     etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- etp.pyw	12 Dec 2005 16:02:52 -0000	1.2
  +++ etp.pyw	12 Dec 2005 16:27:33 -0000	1.3
  @@ -12,6 +12,9 @@
   import os
   import sys
   import cStringIO
  +if wx.Platform == '__WXMSW__':
  +    import  wx.lib.iewin    as  iewin
  +
   if sys.platform=="win32":
       import _winreg
   
  @@ -84,6 +87,25 @@
           print s
           self.message('SYSTEM ERROR - EXCEPTION GENERATED')
   
  +class TabWidget(wx.Notebook):
  +    def __init__(self, parent, id):
  +        wx.Notebook.__init__(self, parent, id, size=(21,21))
  +        self.parent = parent
  +
  +        
  +        if wx.Platform == '__WXMSW__':
  +            self.ie = iewin.IEHtmlWindow(self, 201, style = wx.NO_FULL_REPAINT_ON_RESIZE)
  +            #iewin.EVT_TitleChange(self.ie, 201, self.OnTitleChange)
  +            iewin.EVT_StatusTextChange(self.ie, 201, self.OnStatusTextChange)
  +            self.ie.LoadUrl("http://www.ggorro.com")
  +            self.AddPage(self.ie, tr("::ggorroworks::"))
  +        self.AddPage(wx.Panel(self, -1), tr("::Enter the pet::"))
  +    def OnTitleChange(self, evt):
  +        self.SetPageText(0, evt.Text)
  +    def OnStatusTextChange(self, evt):
  +        self.parent.SetStatusText(evt.Text)
  +
  +
   
   
   class MyFrame(wx.Frame):
  @@ -93,7 +115,7 @@
       """
       def __init__(self, parent, title):
           wx.Frame.__init__(self, parent, -1, title,
  -                          pos=(150, 150), size=(600, 400),
  +                          pos=(150, 150), size=(800, 600),
                             style = wx.DEFAULT_FRAME_STYLE)
   
           """
  @@ -130,11 +152,8 @@
   
           sizer = wx.BoxSizer(wx.VERTICAL)
   
  -        self.splitter = wx.SplitterWindow(self, -1)
  -        self.list = wx.Panel(self.splitter, -1)
  -        self.view = wx.Panel(self.splitter, -1)
  -        self.splitter.SplitVertically(self.list, self.view, 100)
  -        sizer.Add(self.splitter, proportion=1, flag=wx.EXPAND)
  +        self.tw = TabWidget(self, -1)
  +        sizer.Add(self.tw, proportion=1, flag=wx.EXPAND)
           self.SetSizer(sizer)
           self.SetAutoLayout(True)
   
  
  
  


exman       05/12/13 09:27:11

  Modified:    .        etp.pyw
  Log:
  
  
  Revision  Changes    Path
  1.4       +1 -1      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- etp.pyw	12 Dec 2005 16:27:33 -0000	1.3
  +++ etp.pyw	13 Dec 2005 00:27:11 -0000	1.4
  @@ -30,7 +30,7 @@
           wx.SplashScreen.__init__(self, bmp,
                                    wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
                                    5000, None, -1)
  -        self.Bind(wx.EVT_CLOSE, self.OnClose)
  +        wx.EVT_CLOSE(self, self.OnClose)
           self.fc = wx.FutureCall(2000, self.ShowMain)
   
   
  
  
  


exman       05/12/13 10:24:15

  Modified:    .        etp.pyw list.py
  Log:
  list
  
  Revision  Changes    Path
  1.5       +4 -1      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- etp.pyw	13 Dec 2005 00:27:11 -0000	1.4
  +++ etp.pyw	13 Dec 2005 01:24:15 -0000	1.5
  @@ -12,6 +12,8 @@
   import os
   import sys
   import cStringIO
  +import list
  +
   if wx.Platform == '__WXMSW__':
       import  wx.lib.iewin    as  iewin
   
  @@ -99,7 +101,8 @@
               iewin.EVT_StatusTextChange(self.ie, 201, self.OnStatusTextChange)
               self.ie.LoadUrl("http://www.ggorro.com")
               self.AddPage(self.ie, tr("::ggorroworks::"))
  -        self.AddPage(wx.Panel(self, -1), tr("::Enter the pet::"))
  +
  +        self.AddPage(list.ETPList(self, -1), tr("::Enter the pet::"))
       def OnTitleChange(self, evt):
           self.SetPageText(0, evt.Text)
       def OnStatusTextChange(self, evt):
  
  
  
  1.2       +47 -169   etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- list.py	12 Dec 2005 04:48:02 -0000	1.1
  +++ list.py	13 Dec 2005 01:24:15 -0000	1.2
  @@ -3,6 +3,12 @@
   import os, sys
   import traceback
   
  +def tr(message):
  +    if wx.USE_UNICODE:
  +        return unicode(message, "utf-8")
  +    else:
  +        return message
  +
   class BasicList(wx.ScrolledWindow):
       def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           wx.ScrolledWindow.__init__(self,parent,id,pos,size,style,name)
  @@ -41,199 +47,71 @@
       def GetCount(self):
           return self.itempt+1
   
  -class DownloadList(BasicList):
  +class ETPList(BasicList):
       def __init__(self,parent,id=-1,pos=wx.DefaultPosition,size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           BasicList.__init__(self,parent,id,pos,size,style,name)
   
  -        self.torrent_file = []
  -        self.swName = []
  -        self.swName_ = []
  -        self.dlGauge = []
  -        self.dlGauge_ = []
  -        self.dlStatus = []
  -        self.dlStatus_ = []
  -        self.dlPath = []
  -        self.dlPath_ = []
  -        self.dlBtn = []
  -        self.postinstall = []
           self.SetItemSize(600,40)
   
           self.SetScrollbars(0, self.itemsize[1], 0, 0)
   
  +
  +        self.datadir = ""
  +        if sys.platform=="win32":
  +            if os.getenv("APPDATA"):
  +                self.datadir = os.getenv("APPDATA")+os.path.sep+"EnterThePet"
  +            elif os.getenv("TEMP"):
  +                self.datadir = os.getenv("TEMP")+os.path.sep+"EnterThePet"
  +        else:
  +            self.datadir = os.getenv("HOME")+os.path.sep+".EnterThePet"
  +
  +        if self.datadir=="":
  +            return
  +
  +        self.files = []
  +        self.labels = []
  +        self.progress = []
  +        for x in range(1, 153):
  +            self.Append(x)
  +
  +
           # bind the events to handlers
  -        file = os.path.abspath(os.path.dirname(sys.argv[0]))\
  -                +os.path.sep+"background.png"
  -        self.bg_bmp = wx.Bitmap(file, wx.BITMAP_TYPE_PNG)
  -        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnListEraseBackground)
  +        #file = os.path.abspath(os.path.dirname(sys.argv[0]))\
  +        #        +os.path.sep+"background.png"
  +        #self.bg_bmp = wx.Bitmap(file, wx.BITMAP_TYPE_PNG)
  +        #self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnListEraseBackground)
   	
  -    def Append(self, file, name, path, postinstall):
  +    def Append(self, number):
           BasicList.Append(self)
           self.item[self.itempt].Hide()
  -        self.torrent_file.append(file)
  -        sp = 10; sh = 3; h = 20
  -        nW = 90 # name width
  -        gW = 130 # gauge width
  -        sW = 350 # status width
  -        pW = 220 # path width
  -        bW = 70  # button width
  -        self.swName.append(
  -                wx.StaticText(self.item[self.itempt], -1, "", 
  -                    wx.Point(sp, sh), wx.Size(nW, h)))
  -        self.swName[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  -        self.swName_.append(name)
  -        self.SetName(self.itempt, name)
  -        self.dlGauge.append(
  -                wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(sp+nW+sp+sp, sh), wx.Size(gW,15)))
  -        self.dlGauge_.append(0)
  -        self.SetGauge(self.itempt, 0)
  -
  -
  -        self.dlStatus.append(
  -                wx.StaticText(self.item[self.itempt], -1, "", 
  -                    wx.Point(sp+nW+sp+sp, sh+15), wx.Size(sW, h)))
  -        self.dlStatus[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  -        self.dlStatus_.append("")
  -
  -
  -        self.dlPath.append(
  -                wx.StaticText(self.item[self.itempt], -1, "", 
  -                    wx.Point(sp+nW+sp+sp+gW+sp, sh), wx.Size(pW, h)))
  -        self.dlPath[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  -        #f=wx.Font(11, wx.FONTFAMILY_DEFAULT  , wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL  )
  -        #self.dlPath[self.itempt].SetFont(f)
  -        self.dlPath_.append(path)
  -        self.SetPath(self.itempt, path)
  -
  -        self.dlBtn.append(
  -                wx.Button(self.item[self.itempt], -1, u"다른 위치", 
  -                    wx.Point(sp+nW+sp+sp+gW+sp+pW+sp+sp, sh), wx.Size(bW, h)))
   
  -        self.item[self.itempt].Bind(wx.EVT_ERASE_BACKGROUND, self.OnListItemEraseBG)
  -        self.dlBtn[self.itempt].Bind(wx.EVT_BUTTON, self.OnSelectDir)
  -
  -        self.postinstall.append(postinstall)
  +        self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  +        self.labels.append(
  +                wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  +                    wx.Point(10, 3), wx.Size(100, 40)))
  +
  +        if os.path.exists(self.datadir+os.path.sep+"%d.jpg" % number):
  +            self.files.append("%d.jpg")
  +            self.progress.append(None)
  +        else:
  +            self.files.append(None)
  +            self.progress.append(
  +                wx.Gauge(self.item[self.itempt], -1, 100, 
  +                    wx.Point(100, 3), wx.Size(100,15)))
   
           self.item[self.itempt].Show()
           self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
           self.Refresh()
  -    def OnSelectDir(self, evt):
  -        dlg = wx.DirDialog(self, u"폴더 선택:",
  -                          style=wx.DD_DEFAULT_STYLE|wx.DD_NEW_DIR_BUTTON)
  -        if dlg.ShowModal() == wx.ID_OK:
  -            if dlg.GetPath().strip()!="":
  -                itempt = 0
  -                for btn in self.dlBtn:
  -                    if btn==evt.GetEventObject():
  -                        self.SetPath(itempt, dlg.GetPath())
  -                        break
  -                    itempt += 1
  -        dlg.Destroy()
  -
  -    def SetPath(self, n, path):
  -        self.dlPath_[n] = path
  -        dotw, h = self.GetTextExtent("...")
  -        ww = self.dlPath[n].GetSize().GetWidth()
  -        w, h = self.GetTextExtent(path)
  -        if w<=ww:
  -            display = path
  -        else:
  -            display = ""
  -            tw = 0
  -            for x in path:
  -                w, h = self.GetTextExtent(x)
  -                if tw+w<=ww:
  -                    tw += w
  -                    display += x
  -                else:
  -                    display += "..."
  -                    break
  -        self.dlPath[n].SetLabel(display)
  -        self.item[n].SetToolTipString(self.GetName(n)+" "+path)
  -    def GetPath(self, n):
  -        return self.dlPath_[n]
  -    def SetPathWidth(self, n, width):
  -        w, h = self.dlPath[n].GetSizeTuple()
  -        self.dlPath[n].SetSize(wx.Size(width, h))
  -        self.SetPath(n, self.GetPath(n))
  -    def SetName(self, n, name):
  -        self.swName_[n] = name
  -        dotw, h = self.GetTextExtent("...")
  -        ww = self.swName[n].GetSize().GetWidth()
  -        w, h = self.GetTextExtent(name)
  -        if w<=ww:
  -            display = name
  -        else:
  -            display = ""
  -            tw = 0
  -            for x in name:
  -                w, h = self.GetTextExtent(x)
  -                if tw+w<=ww:
  -                    tw += w
  -                    display += x
  -                else:
  -                    display += "..."
  -                    break
  -        self.swName[n].SetLabel(display)
  +        return
       def GetName(self, n):
           return self.swName_[n]
  -    def SetGauge(self, n, percent):
  -        percent = int(percent)
  -        self.dlGauge[n].SetValue(percent)
  -        if self.dlGauge_[n]!=100 and percent==100:
  -            self.dlGauge_[n] = percent
  -            self.dlStatus[n].SetForegroundColour(wx.NamedColor("BLUE"))
  -            if self.GetPostinstall(n):
  -                try:
  -                    exec(open(self.GetPostinstall(n)).read())
  -                except:
  -                    traceback.print_exc()
  -                    self.dlStatus[n].SetForegroundColour(wx.NamedColor("RED"))
  -                    dlg = wx.MessageDialog(self, u'인스톨 스크립트 실행 중 오류가 발생 하였습니다.\n'+self.GetPostinstall(n),
  -                                           u'에러',
  -                                           wx.OK | wx.ICON_ERROR
  -                                           #wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION
  -                                           )
  -                    dlg.ShowModal()
  -                    dlg.Destroy()
  -        self.dlGauge_[n] = percent
  -    def GetGauge(self, n):
  -        return self.dlGauge_[n]
  -    def SetStatus(self, n, status):
  -        if status==self.dlStatus_[n]:
  -            return
  -        self.dlStatus_[n] = status 
  -        self.dlStatus[n].SetLabel(status)
  -    def GetStatus(self, n):
  -        return self.dlStatus_[n]
  -    def GetPostinstall(self, n):
  -        if len(self.postinstall[n])>0:
  -            return self.postinstall[n]
  -        return None
  -    def SetBtnEnable(self, n, flag):
  -        self.dlBtn[n].Enable(flag)
  -    def SetBtnHide(self, n):
  -        self.dlBtn[n].Hide()
  -    def Delete(self,n):
  -        for r in [self.swName, self.dlGauge, self.dlPath, self.dlBtn]:
  -            r[n].Destroy()
  -            r[n]=None
  -            for x in range(n+1,len(r)):
  -                    r[x-1]=r[x]
  -            r.pop()
  -        BasicList.Delete(self,n)
  -
  -    def Clear(self):
  -        for x in range(self.GetCount()):
  -            self.Delete(0)
  -        self.SetScrollbars(0, self.itemsize[1], 0, 0)
  -
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
           if not dc:
               dc = wx.ClientDC(self.GetClientWindow())
           # tile the background bitmap
           sz = self.GetClientSize()
  +        print sz
           w = sz.GetWidth()
           h = sz.GetHeight()
           dc.DrawRectangle(0, -1, w, 41)
  
  
  


exman       05/12/13 10:33:05

  Modified:    .        list.py
  Log:
  
  
  Revision  Changes    Path
  1.3       +2 -2      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list.py	13 Dec 2005 01:24:15 -0000	1.2
  +++ list.py	13 Dec 2005 01:33:05 -0000	1.3
  @@ -99,6 +99,7 @@
                   wx.Gauge(self.item[self.itempt], -1, 100, 
                       wx.Point(100, 3), wx.Size(100,15)))
   
  +        wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
           self.item[self.itempt].Show()
           self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
           self.Refresh()
  @@ -111,10 +112,9 @@
               dc = wx.ClientDC(self.GetClientWindow())
           # tile the background bitmap
           sz = self.GetClientSize()
  -        print sz
           w = sz.GetWidth()
           h = sz.GetHeight()
  -        dc.DrawRectangle(0, -1, w, 41)
  +        dc.DrawRectangle(-1, -1, w, 41)
       def OnListEraseBackground(self, evt):
           dc = evt.GetDC()
           if not dc:
  
  
  


exman       05/12/13 11:42:15

  Modified:    .        list.py
  Log:
  
  
  Revision  Changes    Path
  1.4       +12 -3     etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- list.py	13 Dec 2005 01:33:05 -0000	1.3
  +++ list.py	13 Dec 2005 02:42:15 -0000	1.4
  @@ -51,7 +51,10 @@
       def __init__(self,parent,id=-1,pos=wx.DefaultPosition,size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           BasicList.__init__(self,parent,id,pos,size,style,name)
   
  -        self.SetItemSize(600,40)
  +        self.parent = parent
  +        pw, ph = self.parent.GetSizeTuple()
  +        self.SetItemSize(pw, 40)
  +        wx.EVT_SIZE(self.parent, self.OnSize)
   
           self.SetScrollbars(0, self.itemsize[1], 0, 0)
   
  @@ -88,7 +91,7 @@
           self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
           self.labels.append(
                   wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  -                    wx.Point(10, 3), wx.Size(100, 40)))
  +                    wx.Point(10, 3), wx.Size(50, 40), wx.ALIGN_RIGHT))
   
           if os.path.exists(self.datadir+os.path.sep+"%d.jpg" % number):
               self.files.append("%d.jpg")
  @@ -97,7 +100,7 @@
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(100, 3), wx.Size(100,15)))
  +                    wx.Point(50, 3), wx.Size(464,15)))
   
           wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
           self.item[self.itempt].Show()
  @@ -106,6 +109,12 @@
           return
       def GetName(self, n):
           return self.swName_[n]
  +    def OnSize(self, evt):
  +        pw, ph = evt.GetSize()
  +        self.SetItemSize(pw, ph)
  +        for item in self.item:
  +            item.SetSize(wx.Size(pw, item.GetSize()[1]))
  +        self.Refresh()
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
           if not dc:
  
  
  


exman       05/12/13 13:00:38

  Added:       .        README
  Log:
  
  
  Revision  Changes    Path
  1.1                  etp/README
  
  Index: README
  ===================================================================
  test
  
  
  


exman       05/12/13 13:01:08

  Removed:     .        README
  Log:
  


exman       05/12/13 13:01:50

  Added:       .        README
  Log:
  
  
  Revision  Changes    Path
  1.3       +1 -1      etp/README
  
  
  
  


exman       05/12/13 13:05:29

  Modified:    .        list.py
  Removed:     .        ggorroworks.py
  Log:
  
  
  Revision  Changes    Path
  1.5       +5 -3      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- list.py	13 Dec 2005 02:42:15 -0000	1.4
  +++ list.py	13 Dec 2005 04:05:29 -0000	1.5
  @@ -47,6 +47,7 @@
       def GetCount(self):
           return self.itempt+1
   
  +CTIMGWIDTH = 464
   class ETPList(BasicList):
       def __init__(self,parent,id=-1,pos=wx.DefaultPosition,size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           BasicList.__init__(self,parent,id,pos,size,style,name)
  @@ -100,7 +101,7 @@
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(50, 3), wx.Size(464,15)))
  +                    wx.Point(50, 3), wx.Size(CTIMGWIDTH,15)))
   
           wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
           self.item[self.itempt].Show()
  @@ -112,8 +113,9 @@
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
           self.SetItemSize(pw, ph)
  -        for item in self.item:
  -            item.SetSize(wx.Size(pw, item.GetSize()[1]))
  +        for x in range(len(self.item)):
  +            self.item[x].SetSize(wx.Size(pw, item.GetSize()[1]))
  +            self.lables[x].SetPosition(wx.Point(pw-(CTIMGWIDTH+50), 3))
           self.Refresh()
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
  
  
  


exman       05/12/13 13:34:51

  Modified:    .        etp.pyw list.py
  Log:
  download
  
  Revision  Changes    Path
  1.6       +0 -253    etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- etp.pyw	13 Dec 2005 01:24:15 -0000	1.5
  +++ etp.pyw	13 Dec 2005 04:34:51 -0000	1.6
  @@ -59,36 +59,6 @@
   
   
   
  -(TLProgressEvent, EVT_TL_PROGRESS) = wx.lib.newevent.NewEvent()
  -(DLProgressEvent, EVT_DL_PROGRESS) = wx.lib.newevent.NewEvent()
  -(AddDownloadEvent, EVT_ADD_DOWNLOAD) = wx.lib.newevent.NewEvent()
  -
  -exceptions = []
  -class GameCheckDisplayer:
  -    def __init__(self, win):
  -        self.win = win
  -    def display(self, data):
  -        if not data:
  -            return
  -        for x in data:
  -            ( name, status, progress, peers, seeds, seedsmsg, dist,
  -              uprate, dnrate, upamt, dnamt, size, t, msg ) = x
  -            file = os.path.basename(name)
  -            evt = DLProgressEvent(torrent=file, progress=int(string.atof(progress.replace("%",""))), status = u'"%s" (%s) 다운%0.1fK/s-업%0.1fK/s' % (status, progress, dnrate/1000, uprate/1000))
  -            wx.PostEvent(self.win, evt)
  -
  -            #print '"%s": "%s" (%s) - %sP%s%s%.3fD u%0.1fK/s-d%0.1fK/s u%dK-d%dK "%s"' % ( name, status, progress, peers, seeds, seedsmsg, dist, uprate/1000, dnrate/1000, upamt/1024, dnamt/1024, msg)
  -        return False
  -
  -    def message(self, s):
  -        return
  -        print "### "+s
  -
  -    def exception(self, s):
  -        exceptions.append(s)
  -        print s
  -        self.message('SYSTEM ERROR - EXCEPTION GENERATED')
  -
   class TabWidget(wx.Notebook):
       def __init__(self, parent, id):
           wx.Notebook.__init__(self, parent, id, size=(21,21))
  @@ -160,232 +130,9 @@
           self.SetSizer(sizer)
           self.SetAutoLayout(True)
   
  -    def UpdateDL(self, evt):
  -        for x in range(self.dList.GetCount()):
  -            if evt.torrent==self.dList.torrent_file[x]:
  -                self.dList.SetGauge(x, evt.progress)
  -                self.dList.SetStatus(x, evt.status)
  -                break
  -
  -    def OnStart(self, evt):
  -        if not hasattr(self, "lm"):
  -            return
  -
  -        for infohash,data in self.lm.add_wait:
  -            for x in range(self.dList.GetCount()):
  -                self.dList.SetBtnHide(x)
  -                self.dList.SetPathWidth(x, 300) # 버튼 영역까지 확장
  -                if data["file"]==self.dList.torrent_file[x]:
  -                    if not data['metainfo']['info'].has_key('length'):
  -                        # dir
  -                        self.lm.set_download_path(infohash, self.dList.GetPath(x))
  -                    else:
  -                        self.lm.set_download_path(infohash, self.dList.GetPath(x)+os.path.sep+os.path.basename(data['path'])[:-8])
  -                    break
  -        self.lm.add_from_waitqueue()
  -        self.btnStart.Enable(False)
  -
  -    def OnStop(self):
  -        if hasattr(self, "lm"):
  -            self.lm.doneflag.set()
  -
  -    def LaunchMany(self):
  -        uiname = 'btlaunchmany' # XXX gamechk로 변경해야함
  -        defaults = get_defaults(uiname) 
  -        config, args = configfile.parse_configuration_and_args(defaults,
  -                                      uiname, sys.argv[1:], 0, 1)
  -        config['torrent_dir'] = self.torrent_dir
  -        self.lm = LaunchMany(config, GameCheckDisplayer(self), uiname)
  -        thread.start_new_thread(self.lm.loop, ())
  -
  -    def AddDownload(self, evt):
  -        gck = evt.cfg
  -        ne = gck.get("Info","conf_encoding")
  -        name = gck.get("Info","name").decode(ne)
  -        postinstall = evt.postinstall
  -        path = ""
  -        if len(gck.options("Install Path"))>0:
  -            for x in gck.options("Install Path"):
  -                dir = x.decode(ne)
  -                if os.path.exists(dir):
  -                    path = dir
  -                    break
  -            else:
  -                pl = gck.options("Install Path")
  -                pl.sort()
  -                path = gck.get("Install Path", pl[0]).decode(ne)
  -        if path=="":
  -            path = self.torrent_dir
  -        self.dList.Append(evt.file, name, path, postinstall)
  -
  -    def UpdateTL(self, evt):
  -        wx.MilliSleep(200)
  -        if evt.progress[0]==100:
  -            self.DI.Update(99, evt.progress[1])
  -        else:
  -            self.DI.Update(evt.progress[0], evt.progress[1])
  -        if evt.progress[0]==100:
  -            wx.MilliSleep(1000)
  -            # hide 
  -            self.DI.Update(evt.progress[0], evt.progress[1])
  -            self.DI.Destroy()
  -            self.LaunchMany()
  -
  -    def GetDownloadInfo(self):
  -        self.DI = wx.ProgressDialog(u"게임체크 정보 수집",
  -                u"접속중...",
  -                               maximum = 100,
  -                               parent=self,
  -                               style = wx.PD_APP_MODAL|wx.PD_AUTO_HIDE)
  -        self.DI.SetSize(wx.Size(320, 150))
  -        x,y=self.GetPositionTuple()
  -        w,h=self.GetSizeTuple()
  -        self.DI.MoveXY(x+((w-320)/2), y+((h-150)/2))
  -        self.Bind(EVT_TL_PROGRESS, self.UpdateTL)
  -        self.Bind(EVT_DL_PROGRESS, self.UpdateDL)
  -        self.Bind(EVT_ADD_DOWNLOAD, self.AddDownload)
  -
  -        thread.start_new_thread(self.GetGameChkList, (sys.argv[1:],))
  -
  -
  -    def GetGameChkList(self, argv):
  -        if len(argv)==0:
  -            return
  -        url = argv[0].replace("gamechk://","http://", 1)
  -        retry = 3
  -        while retry>0:
  -            try:
  -                #print url
  -                urls = urllib2.urlopen(url).readlines()
  -                break
  -            except:
  -                traceback.print_exc()
  -            retry -= 1
  -        else:
  -            return
  -        evt = TLProgressEvent(progress = (20, u"게임체크 리스트 다운로드"))
  -        wx.PostEvent(self, evt)
  -
  -        n = 0
  -        for url in urls:
  -            gck = ConfigParser.ConfigParser()
  -            retry = 3
  -            while retry>0:
  -                try:
  -                    gck.readfp(urllib2.urlopen(url))
  -                    break
  -                except:
  -                    traceback.print_exc()
  -                retry -= 1
  -            else:
  -                dlg = wx.MessageDialog(self, u'다운로드 목록을 받는 과정에서 문제가 발생 하였습니다.\n'+url,
  -                                       u'에러',
  -                                       wx.OK | wx.ICON_ERROR
  -                                       #wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION
  -                                       )
  -                dlg.ShowModal()
  -                dlg.Destroy()
  -                self.Close()
  -                break
  -            ne = gck.get("Info","conf_encoding")
  -            name = gck.get("Info","name").decode(ne)
  -            torrent = gck.get("Info","torrent_url")
  -            post = ""
  -            post_install = ""
  -            if len(gck.options("Install Script"))>0:
  -                post = gck.get("Install Script","post")
  -
  -            n+=1
  -            #print u"[%d/%d] " % (n,len(urls))+name
  -            prog = int((n*80.0)/(len(urls)*3)) + 20
  -            evt = TLProgressEvent(progress = (prog, u"[%d/%d] " % (n,len(urls))+name+u" download 20%"))
  -            wx.PostEvent(self, evt)
  -
  -            # torrent file download
  -            torrent_file=self.torrent_dir+os.path.sep+os.path.basename(torrent)
  -            retry = 3
  -            while retry>0:
  -                try:
  -                    d = urllib2.urlopen(torrent).read()
  -                    open(torrent_file, "wb").write(d)
  -                    break
  -                except:
  -                    traceback.print_exc()
  -                retry -= 1
  -            else:
  -                dlg = wx.MessageDialog(self, u'torrent 파일을 받는 과정에서 문제가 발생 하였습니다.\n'+torrent,
  -                                       u'에러',
  -                                       wx.OK | wx.ICON_ERROR
  -                                       #wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION
  -                                       )
  -                dlg.ShowModal()
  -                dlg.Destroy()
  -                self.Close()
  -                break
  -            prog = int((n*80.0)/(len(urls)*2)) + 20
  -            evt = TLProgressEvent(progress = (prog, u"[%d/%d] " % (n,len(urls))+name+u" download 80%"))
  -            wx.PostEvent(self, evt)
  -
  -
  -            # post-install script download
  -            if post!="":
  -                post_install=self.torrent_dir+os.path.sep+os.path.basename(post)
  -                retry = 3
  -                while retry>0:
  -                    try:
  -                        d = urllib2.urlopen(post).read()
  -                        open(post_install, "wb").write(d)
  -                        break
  -                    except:
  -                        traceback.print_exc()
  -                    retry -= 1
  -                else:
  -                    dlg = wx.MessageDialog(self, u'인스톨 스크립트를 받는 과정에서 문제가 발생 하였습니다.\n'+post,
  -                                           u'에러',
  -                                           wx.OK | wx.ICON_ERROR
  -                                           #wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION
  -                                           )
  -                    dlg.ShowModal()
  -                    dlg.Destroy()
  -                    self.Close()
  -                    break
  -            evt = AddDownloadEvent(cfg=gck,file=os.path.basename(torrent_file),postinstall=post_install)
  -            wx.PostEvent(self, evt)
  -
  -            prog = int((n*80.0)/(len(urls))) + 20
  -            evt = TLProgressEvent(progress = (prog, u"[%d/%d] " % (n,len(urls))+name+u" download 100%"))
  -            wx.PostEvent(self, evt)
  -
  -            if prog==100:
  -                break
  -        else:
  -            evt = TLProgressEvent(progress = (prog, u"완료"))
  -            wx.PostEvent(self, evt)
  -            
  -
   
       def OnClose(self, evt):
  -        """
  -        flag = True
  -        for x in range(self.dList.GetCount()):
  -            if 100!=self.dList.GetGauge(x):
  -                flag = False
  -                break
  -        if not flag:
  -            dlg = wx.MessageDialog(self, u'다운로드가 완료 되지 않았습니다. 100%까지 진행 되지 않은 프로그램은 실행 되지 않게 됩니다.\n\n완료되지 않은 복구 프로그램을 다시 검사하기 위해서는 게임 검사를 다시 실행하여 주십시오.\n\n현재의 검사 작업을 정말로 끝내겠습니까?',
  -                                   u'경고',
  -                                   wx.YES_NO | wx.ICON_EXCLAMATION
  -                                   )
  -            if dlg.ShowModal()==wx.ID_NO:
  -                dlg.Destroy()
  -                return
  -            dlg.Destroy()
  -        self.OnStop()
  -        """
           self.Destroy()
  -    def OnTimeToClose(self, evt):
  -        """Event handler for the button click."""
  -        self.Close()
   
   
   
  
  
  
  1.6       +46 -3     etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- list.py	13 Dec 2005 04:05:29 -0000	1.5
  +++ list.py	13 Dec 2005 04:34:51 -0000	1.6
  @@ -2,6 +2,8 @@
   import wx
   import os, sys
   import traceback
  +import thread
  +import urllib2
   
   def tr(message):
       if wx.USE_UNICODE:
  @@ -48,6 +50,7 @@
           return self.itempt+1
   
   CTIMGWIDTH = 464
  +(DLProgressEvent, EVT_DL_PROGRESS) = wx.lib.newevent.NewEvent()
   class ETPList(BasicList):
       def __init__(self,parent,id=-1,pos=wx.DefaultPosition,size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           BasicList.__init__(self,parent,id,pos,size,style,name)
  @@ -84,6 +87,45 @@
           #        +os.path.sep+"background.png"
           #self.bg_bmp = wx.Bitmap(file, wx.BITMAP_TYPE_PNG)
           #self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnListEraseBackground)
  +
  +        EVT_DL_PROGRESS(self, self.UpdateDL)
  +        thread.start_new_thread(self.DownloadETP, ())
  +
  +    def UpdateDL(self, evt):
  +        self.progress[evt.progress[0]].SetValue(evt.progress[1])
  +        if evt.progress[1]==100:
  +            pass
  +
  +    def DownloadETP(self):
  +        for x in range(152):
  +            if self.files[x]!=None:
  +                continue
  +            url = "http://comic.yahoo.co.kr/covers/cartoon/contents/9290/%03d.jpg" % (x+1)
  +            evt = DLProgressEvent(progress = (x, 20))
  +            if evt: wx.PostEvent(self, evt)
  +
  +            retry = 3
  +            while retry>0:
  +                try:
  +                    bin = urllib2.urlopen(url).read()
  +                    evt = DLProgressEvent(progress = (x, 80))
  +                    if evt: wx.PostEvent(self, evt)
  +                    break
  +                except:
  +                    traceback.print_exc()
  +                    wx.Sleep(5)
  +                retry -= 1
  +            else:
  +                dlg = wx.MessageDialog(self, tr('다운로드 목록을 받는 과정에서 문제가 발생 하였습니다.\n다음 번 실행시에 다시 시도 하도록 하겠습니다.'),
  +                                       tr('에러'),
  +                                       wx.OK | wx.ICON_ERROR
  +                                       )
  +                dlg.ShowModal()
  +                dlg.Destroy()
  +                return
  +            evt = DLProgressEvent(progress = (x, 100))
  +            if evt: wx.PostEvent(self, evt)
  +            wx.Sleep(1)
   	
       def Append(self, number):
           BasicList.Append(self)
  @@ -101,7 +143,7 @@
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(50, 3), wx.Size(CTIMGWIDTH,15)))
  +                    wx.Point(50, 3), wx.Size(CTIMGWIDTH-50,15)))
   
           wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
           self.item[self.itempt].Show()
  @@ -114,8 +156,9 @@
           pw, ph = evt.GetSize()
           self.SetItemSize(pw, ph)
           for x in range(len(self.item)):
  -            self.item[x].SetSize(wx.Size(pw, item.GetSize()[1]))
  -            self.lables[x].SetPosition(wx.Point(pw-(CTIMGWIDTH+50), 3))
  +            self.item[x].SetSize(wx.Size(pw, self.item[x].GetSize()[1]))
  +            self.labels[x].SetPosition(wx.Point((pw-(CTIMGWIDTH))/2, 3))
  +            self.progress[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3))
           self.Refresh()
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
  
  
  


exman       05/12/13 14:18:03

  Modified:    .        list.py
  Log:
  download image
  
  Revision  Changes    Path
  1.7       +45 -6     etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- list.py	13 Dec 2005 04:34:51 -0000	1.6
  +++ list.py	13 Dec 2005 05:18:03 -0000	1.7
  @@ -50,6 +50,7 @@
           return self.itempt+1
   
   CTIMGWIDTH = 464
  +CTIMGHEIGHT = 25
   (DLProgressEvent, EVT_DL_PROGRESS) = wx.lib.newevent.NewEvent()
   class ETPList(BasicList):
       def __init__(self,parent,id=-1,pos=wx.DefaultPosition,size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
  @@ -57,7 +58,7 @@
   
           self.parent = parent
           pw, ph = self.parent.GetSizeTuple()
  -        self.SetItemSize(pw, 40)
  +        self.SetItemSize(pw, CTIMGHEIGHT+1)
           wx.EVT_SIZE(self.parent, self.OnSize)
   
           self.SetScrollbars(0, self.itemsize[1], 0, 0)
  @@ -78,6 +79,8 @@
           self.files = []
           self.labels = []
           self.progress = []
  +        self.title = []
  +        self.view = []
           for x in range(1, 153):
               self.Append(x)
   
  @@ -93,8 +96,19 @@
   
       def UpdateDL(self, evt):
           self.progress[evt.progress[0]].SetValue(evt.progress[1])
  -        if evt.progress[1]==100:
  -            pass
  +        x = evt.progress[0]
  +        p = evt.progress[1]
  +        if p==100:
  +            if self.progress[x]:
  +                self.progress[x].Destroy()
  +                self.progress[x] = None
  +
  +            pw, ph = self.parent.GetSize()
  +            tpath = self.datadir+os.path.sep+"t_%03d.jpg" % (x+1)
  +            timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +            self.title[x] = wx.StaticBitmap(self.item[x], -1, timg, 
  +                    wx.Point((pw-CTIMGWIDTH)/2, 0), wx.Size(CTIMGWIDTH, CTIMGHEIGHT))
  +            self.title[x].Show()
   
       def DownloadETP(self):
           for x in range(152):
  @@ -108,6 +122,19 @@
               while retry>0:
                   try:
                       bin = urllib2.urlopen(url).read()
  +                    if not os.path.exists(self.datadir):
  +                        os.mkdir(self.datadir)
  +                    fp=open(self.datadir+os.path.sep+"%03d.jpg" % (x+1), "wb")
  +                    fp.write(bin)
  +                    fp.close()
  +                    evt = DLProgressEvent(progress = (x, 50))
  +                    if evt: wx.PostEvent(self, evt)
  +                    path = self.datadir+os.path.sep+"%03d.jpg" % (x+1)
  +                    img = wx.Image(path, wx.BITMAP_TYPE_JPEG)
  +                    timg = img.GetSubImage(wx.Rect(0, 155, CTIMGWIDTH, CTIMGHEIGHT))
  +                    timg.SaveFile(
  +                            self.datadir+os.path.sep+"t_%03d.jpg" % (x+1),
  +                            wx.BITMAP_TYPE_JPEG)
                       evt = DLProgressEvent(progress = (x, 80))
                       if evt: wx.PostEvent(self, evt)
                       break
  @@ -136,14 +163,23 @@
                   wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
                       wx.Point(10, 3), wx.Size(50, 40), wx.ALIGN_RIGHT))
   
  -        if os.path.exists(self.datadir+os.path.sep+"%d.jpg" % number):
  +        path = self.datadir+os.path.sep+"%03d.jpg" % number
  +        tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  +        if os.path.exists(path) and os.path.exists(tpath):
               self.files.append("%d.jpg")
               self.progress.append(None)
  +
  +            timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +            self.title.append(
  +                wx.StaticBitmap(self.item[self.itempt], -1, timg, 
  +                    wx.Point(0, 0), wx.Size(CTIMGWIDTH, CTIMGHEIGHT)))
           else:
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
                       wx.Point(50, 3), wx.Size(CTIMGWIDTH-50,15)))
  +            self.title.append(None)
  +        self.view.append(None)
   
           wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
           self.item[self.itempt].Show()
  @@ -158,7 +194,10 @@
           for x in range(len(self.item)):
               self.item[x].SetSize(wx.Size(pw, self.item[x].GetSize()[1]))
               self.labels[x].SetPosition(wx.Point((pw-(CTIMGWIDTH))/2, 3))
  -            self.progress[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3))
  +            if self.progress[x]:
  +                self.progress[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3))
  +            if self.title[x]:
  +                self.title[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2), 0))
           self.Refresh()
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
  @@ -168,7 +207,7 @@
           sz = self.GetClientSize()
           w = sz.GetWidth()
           h = sz.GetHeight()
  -        dc.DrawRectangle(-1, -1, w, 41)
  +        dc.DrawRectangle(-1, -1, w, CTIMGHEIGHT+2)
       def OnListEraseBackground(self, evt):
           dc = evt.GetDC()
           if not dc:
  
  
  


exman       05/12/13 14:22:49

  Modified:    .        list.py
  Log:
  align no y position
  
  Revision  Changes    Path
  1.8       +7 -7      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- list.py	13 Dec 2005 05:18:03 -0000	1.7
  +++ list.py	13 Dec 2005 05:22:49 -0000	1.8
  @@ -107,7 +107,7 @@
               tpath = self.datadir+os.path.sep+"t_%03d.jpg" % (x+1)
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
               self.title[x] = wx.StaticBitmap(self.item[x], -1, timg, 
  -                    wx.Point((pw-CTIMGWIDTH)/2, 0), wx.Size(CTIMGWIDTH, CTIMGHEIGHT))
  +                    wx.Point(((pw-(CTIMGWIDTH+50))/2)+50, 0), wx.Size(CTIMGWIDTH, CTIMGHEIGHT))
               self.title[x].Show()
   
       def DownloadETP(self):
  @@ -131,7 +131,7 @@
                       if evt: wx.PostEvent(self, evt)
                       path = self.datadir+os.path.sep+"%03d.jpg" % (x+1)
                       img = wx.Image(path, wx.BITMAP_TYPE_JPEG)
  -                    timg = img.GetSubImage(wx.Rect(0, 155, CTIMGWIDTH, CTIMGHEIGHT))
  +                    timg = img.GetSubImage(wx.Rect(50, 155, CTIMGWIDTH-50, CTIMGHEIGHT))
                       timg.SaveFile(
                               self.datadir+os.path.sep+"t_%03d.jpg" % (x+1),
                               wx.BITMAP_TYPE_JPEG)
  @@ -161,7 +161,7 @@
           self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
           self.labels.append(
                   wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  -                    wx.Point(10, 3), wx.Size(50, 40), wx.ALIGN_RIGHT))
  +                    wx.Point(10, 5), wx.Size(50, 40), wx.ALIGN_RIGHT))
   
           path = self.datadir+os.path.sep+"%03d.jpg" % number
           tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  @@ -172,12 +172,12 @@
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
               self.title.append(
                   wx.StaticBitmap(self.item[self.itempt], -1, timg, 
  -                    wx.Point(0, 0), wx.Size(CTIMGWIDTH, CTIMGHEIGHT)))
  +                    wx.Point(50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
           else:
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(50, 3), wx.Size(CTIMGWIDTH-50,15)))
  +                    wx.Point(50, 5), wx.Size(CTIMGWIDTH-50,15)))
               self.title.append(None)
           self.view.append(None)
   
  @@ -193,11 +193,11 @@
           self.SetItemSize(pw, ph)
           for x in range(len(self.item)):
               self.item[x].SetSize(wx.Size(pw, self.item[x].GetSize()[1]))
  -            self.labels[x].SetPosition(wx.Point((pw-(CTIMGWIDTH))/2, 3))
  +            self.labels[x].SetPosition(wx.Point((pw-(CTIMGWIDTH))/2, 5))
               if self.progress[x]:
                   self.progress[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3))
               if self.title[x]:
  -                self.title[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2), 0))
  +                self.title[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0))
           self.Refresh()
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
  
  
  


exman       05/12/13 19:19:20

  Modified:    .        list.py
  Log:
  subimage bug fix
  
  Revision  Changes    Path
  1.9       +1 -1      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- list.py	13 Dec 2005 05:22:49 -0000	1.8
  +++ list.py	13 Dec 2005 10:19:20 -0000	1.9
  @@ -131,7 +131,7 @@
                       if evt: wx.PostEvent(self, evt)
                       path = self.datadir+os.path.sep+"%03d.jpg" % (x+1)
                       img = wx.Image(path, wx.BITMAP_TYPE_JPEG)
  -                    timg = img.GetSubImage(wx.Rect(50, 155, CTIMGWIDTH-50, CTIMGHEIGHT))
  +                    timg = img.GetSubImage(wx.Rect(50, 155, img.GetWidth()-50, CTIMGHEIGHT))
                       timg.SaveFile(
                               self.datadir+os.path.sep+"t_%03d.jpg" % (x+1),
                               wx.BITMAP_TYPE_JPEG)
  
  
  


exman       05/12/13 19:47:52

  Modified:    .        etp.pyw list.py
  Log:
  detect for wxWindows
  
  Revision  Changes    Path
  1.7       +7 -2      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- etp.pyw	13 Dec 2005 04:34:51 -0000	1.6
  +++ etp.pyw	13 Dec 2005 10:47:52 -0000	1.7
  @@ -72,7 +72,8 @@
               self.ie.LoadUrl("http://www.ggorro.com")
               self.AddPage(self.ie, tr("::ggorroworks::"))
   
  -        self.AddPage(list.ETPList(self, -1), tr("::Enter the pet::"))
  +        self.list = list.ETPList(self, -1)
  +        self.AddPage(self.list, tr("::Enter the pet::"))
       def OnTitleChange(self, evt):
           self.SetPageText(0, evt.Text)
       def OnStatusTextChange(self, evt):
  @@ -115,7 +116,6 @@
           menuHelp.Append(901, tr("꼬로뷰어에 관하여..."))
           menubar.Append(menuHelp, tr("도움말"))
           
  -        # Menu Event
           wx.EVT_CLOSE(self, self.OnClose)
           wx.EVT_MENU(self, 101, self.OnClose)
   
  @@ -130,7 +130,12 @@
           self.SetSizer(sizer)
           self.SetAutoLayout(True)
   
  +        wx.EVT_SIZE(self, self.OnSize)
   
  +
  +    def OnSize(self, evt):
  +        self.tw.SetSize(evt.GetSize())
  +        self.tw.list.OnSize(evt)
       def OnClose(self, evt):
           self.Destroy()
   
  
  
  
  1.10      +4 -4      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- list.py	13 Dec 2005 10:19:20 -0000	1.9
  +++ list.py	13 Dec 2005 10:47:52 -0000	1.10
  @@ -59,7 +59,6 @@
           self.parent = parent
           pw, ph = self.parent.GetSizeTuple()
           self.SetItemSize(pw, CTIMGHEIGHT+1)
  -        wx.EVT_SIZE(self.parent, self.OnSize)
   
           self.SetScrollbars(0, self.itemsize[1], 0, 0)
   
  @@ -161,7 +160,7 @@
           self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
           self.labels.append(
                   wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  -                    wx.Point(10, 5), wx.Size(50, 40), wx.ALIGN_RIGHT))
  +                    wx.Point(10, 5), wx.Size(50, 20), wx.ALIGN_RIGHT))
   
           path = self.datadir+os.path.sep+"%03d.jpg" % number
           tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  @@ -177,7 +176,7 @@
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(50, 5), wx.Size(CTIMGWIDTH-50,15)))
  +                    wx.Point(50, (CTIMGHEIGHT-15)/2), wx.Size(CTIMGWIDTH-50,15)))
               self.title.append(None)
           self.view.append(None)
   
  @@ -190,7 +189,7 @@
           return self.swName_[n]
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
  -        self.SetItemSize(pw, ph)
  +        self.SetItemSize(pw, CTIMGHEIGHT+1)
           for x in range(len(self.item)):
               self.item[x].SetSize(wx.Size(pw, self.item[x].GetSize()[1]))
               self.labels[x].SetPosition(wx.Point((pw-(CTIMGWIDTH))/2, 5))
  @@ -199,6 +198,7 @@
               if self.title[x]:
                   self.title[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0))
           self.Refresh()
  +        return True
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
           if not dc:
  
  
  


exman       05/12/13 19:51:45

  Modified:    .        etp.pyw list.py
  Log:
  detect for wxwin
  
  Revision  Changes    Path
  1.8       +0 -4      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- etp.pyw	13 Dec 2005 10:47:52 -0000	1.7
  +++ etp.pyw	13 Dec 2005 10:51:45 -0000	1.8
  @@ -130,12 +130,8 @@
           self.SetSizer(sizer)
           self.SetAutoLayout(True)
   
  -        wx.EVT_SIZE(self, self.OnSize)
   
   
  -    def OnSize(self, evt):
  -        self.tw.SetSize(evt.GetSize())
  -        self.tw.list.OnSize(evt)
       def OnClose(self, evt):
           self.Destroy()
   
  
  
  
  1.11      +2 -1      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- list.py	13 Dec 2005 10:47:52 -0000	1.10
  +++ list.py	13 Dec 2005 10:51:45 -0000	1.11
  @@ -90,6 +90,8 @@
           #self.bg_bmp = wx.Bitmap(file, wx.BITMAP_TYPE_PNG)
           #self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnListEraseBackground)
   
  +        wx.EVT_SIZE(self, self.OnSize)
  +
           EVT_DL_PROGRESS(self, self.UpdateDL)
           thread.start_new_thread(self.DownloadETP, ())
   
  @@ -198,7 +200,6 @@
               if self.title[x]:
                   self.title[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0))
           self.Refresh()
  -        return True
       def OnListItemEraseBG(self, evt):
           dc = evt.GetDC()
           if not dc:
  
  
  


exman       05/12/14 00:44:51

  Modified:    .        list.py
  Log:
  
  
  Revision  Changes    Path
  1.12      +5 -4      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- list.py	13 Dec 2005 10:51:45 -0000	1.11
  +++ list.py	13 Dec 2005 15:44:51 -0000	1.12
  @@ -91,6 +91,7 @@
           #self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnListEraseBackground)
   
           wx.EVT_SIZE(self, self.OnSize)
  +        #wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
   
           EVT_DL_PROGRESS(self, self.UpdateDL)
           thread.start_new_thread(self.DownloadETP, ())
  @@ -104,11 +105,11 @@
                   self.progress[x].Destroy()
                   self.progress[x] = None
   
  -            pw, ph = self.parent.GetSize()
  +            pw, ph = self.item[x].GetSize()
               tpath = self.datadir+os.path.sep+"t_%03d.jpg" % (x+1)
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
               self.title[x] = wx.StaticBitmap(self.item[x], -1, timg, 
  -                    wx.Point(((pw-(CTIMGWIDTH+50))/2)+50, 0), wx.Size(CTIMGWIDTH, CTIMGHEIGHT))
  +                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
               self.title[x].Show()
   
       def DownloadETP(self):
  @@ -187,8 +188,8 @@
           self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
           self.Refresh()
           return
  -    def GetName(self, n):
  -        return self.swName_[n]
  +    #def OnMouseWheel(self, evt):
  +    #    print evt.GetWheelRotation(), evt.GetWheelDelta()
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
           self.SetItemSize(pw, CTIMGHEIGHT+1)
  
  
  


exman       05/12/14 20:43:19

  Modified:    .        list.py
  Log:
  
  
  Revision  Changes    Path
  1.13      +4 -3      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- list.py	13 Dec 2005 15:44:51 -0000	1.12
  +++ list.py	14 Dec 2005 11:43:19 -0000	1.13
  @@ -91,7 +91,7 @@
           #self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnListEraseBackground)
   
           wx.EVT_SIZE(self, self.OnSize)
  -        #wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
  +        wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
   
           EVT_DL_PROGRESS(self, self.UpdateDL)
           thread.start_new_thread(self.DownloadETP, ())
  @@ -175,6 +175,7 @@
               self.title.append(
                   wx.StaticBitmap(self.item[self.itempt], -1, timg, 
                       wx.Point(50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
  +            self.item[self.itempt].CaptureMouse()
           else:
               self.files.append(None)
               self.progress.append(
  @@ -188,8 +189,8 @@
           self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
           self.Refresh()
           return
  -    #def OnMouseWheel(self, evt):
  -    #    print evt.GetWheelRotation(), evt.GetWheelDelta()
  +    def OnMouseWheel(self, evt):
  +        print evt.GetWheelRotation(), evt.GetWheelDelta()
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
           self.SetItemSize(pw, CTIMGHEIGHT+1)
  
  
  


exman       05/12/15 20:29:50

  Modified:    .        etp.pyw
  Log:
  
  
  Revision  Changes    Path
  1.9       +5 -0      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- etp.pyw	13 Dec 2005 10:51:45 -0000	1.8
  +++ etp.pyw	15 Dec 2005 11:29:50 -0000	1.9
  @@ -64,6 +64,7 @@
           wx.Notebook.__init__(self, parent, id, size=(21,21))
           self.parent = parent
   
  +        self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
           
           if wx.Platform == '__WXMSW__':
               self.ie = iewin.IEHtmlWindow(self, 201, style = wx.NO_FULL_REPAINT_ON_RESIZE)
  @@ -74,6 +75,10 @@
   
           self.list = list.ETPList(self, -1)
           self.AddPage(self.list, tr("::Enter the pet::"))
  +    def OnPageChanged(self, evt):
  +        win = self.GetCurrentPage()
  +        win.SetFocus()
  +
       def OnTitleChange(self, evt):
           self.SetPageText(0, evt.Text)
       def OnStatusTextChange(self, evt):
  
  
  


exman       05/12/23 09:55:19

  Modified:    .        etp.pyw list.py
  Log:
  
  
  Revision  Changes    Path
  1.10      +3 -1      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- etp.pyw	15 Dec 2005 11:29:50 -0000	1.9
  +++ etp.pyw	23 Dec 2005 00:55:19 -0000	1.10
  @@ -77,7 +77,9 @@
           self.AddPage(self.list, tr("::Enter the pet::"))
       def OnPageChanged(self, evt):
           win = self.GetCurrentPage()
  -        win.SetFocus()
  +        if win:
  +            win.SetFocus()
  +        evt.Skip()
   
       def OnTitleChange(self, evt):
           self.SetPageText(0, evt.Text)
  
  
  
  1.14      +40 -35    etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- list.py	14 Dec 2005 11:43:19 -0000	1.13
  +++ list.py	23 Dec 2005 00:55:19 -0000	1.14
  @@ -80,8 +80,6 @@
           self.progress = []
           self.title = []
           self.view = []
  -        for x in range(1, 153):
  -            self.Append(x)
   
   
           # bind the events to handlers
  @@ -97,6 +95,10 @@
           thread.start_new_thread(self.DownloadETP, ())
   
       def UpdateDL(self, evt):
  +        if evt.progress[1]==0:
  +            self.Append(evt.progress[0]+1)
  +            return
  +
           self.progress[evt.progress[0]].SetValue(evt.progress[1])
           x = evt.progress[0]
           p = evt.progress[1]
  @@ -112,8 +114,44 @@
                       wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
               self.title[x].Show()
   
  +    def Append(self, number):
  +        BasicList.Append(self)
  +        self.item[self.itempt].Hide()
  +
  +        self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  +        self.labels.append(
  +                wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  +                    wx.Point(10, 5), wx.Size(50, 20), wx.ALIGN_RIGHT))
  +
  +        path = self.datadir+os.path.sep+"%03d.jpg" % number
  +        tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  +        if os.path.exists(path) and os.path.exists(tpath):
  +            self.files.append("%03d.jpg" % number)
  +            self.progress.append(None)
  +
  +            timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +            self.title.append(
  +                wx.StaticBitmap(self.item[self.itempt], -1, timg, 
  +                    wx.Point(50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
  +        else:
  +            self.files.append(None)
  +            self.progress.append(
  +                wx.Gauge(self.item[self.itempt], -1, 100, 
  +                    wx.Point(50, (CTIMGHEIGHT-15)/2), wx.Size(CTIMGWIDTH-50,15)))
  +            self.title.append(None)
  +        self.view.append(None)
  +
  +        wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
  +        self.item[self.itempt].Show()
  +        self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
  +        self.Refresh()
  +        return
  +
       def DownloadETP(self):
           for x in range(152):
  +            evt = DLProgressEvent(progress = (x, 0))
  +            if evt: self.ProcessEvent(evt)
  +
               if self.files[x]!=None:
                   continue
               url = "http://comic.yahoo.co.kr/covers/cartoon/contents/9290/%03d.jpg" % (x+1)
  @@ -156,39 +194,6 @@
               if evt: wx.PostEvent(self, evt)
               wx.Sleep(1)
   	
  -    def Append(self, number):
  -        BasicList.Append(self)
  -        self.item[self.itempt].Hide()
  -
  -        self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  -        self.labels.append(
  -                wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  -                    wx.Point(10, 5), wx.Size(50, 20), wx.ALIGN_RIGHT))
  -
  -        path = self.datadir+os.path.sep+"%03d.jpg" % number
  -        tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  -        if os.path.exists(path) and os.path.exists(tpath):
  -            self.files.append("%d.jpg")
  -            self.progress.append(None)
  -
  -            timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  -            self.title.append(
  -                wx.StaticBitmap(self.item[self.itempt], -1, timg, 
  -                    wx.Point(50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
  -            self.item[self.itempt].CaptureMouse()
  -        else:
  -            self.files.append(None)
  -            self.progress.append(
  -                wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(50, (CTIMGHEIGHT-15)/2), wx.Size(CTIMGWIDTH-50,15)))
  -            self.title.append(None)
  -        self.view.append(None)
  -
  -        wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
  -        self.item[self.itempt].Show()
  -        self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
  -        self.Refresh()
  -        return
       def OnMouseWheel(self, evt):
           print evt.GetWheelRotation(), evt.GetWheelDelta()
       def OnSize(self, evt):
  
  
  


exman       05/12/23 10:00:29

  Modified:    .        list.py
  Log:
  
  
  Revision  Changes    Path
  1.15      +3 -1      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- list.py	23 Dec 2005 00:55:19 -0000	1.14
  +++ list.py	23 Dec 2005 01:00:29 -0000	1.15
  @@ -96,6 +96,7 @@
   
       def UpdateDL(self, evt):
           if evt.progress[1]==0:
  +            print evt.progress
               self.Append(evt.progress[0]+1)
               return
   
  @@ -150,8 +151,9 @@
       def DownloadETP(self):
           for x in range(152):
               evt = DLProgressEvent(progress = (x, 0))
  -            if evt: self.ProcessEvent(evt)
  +            if evt: wx.PostEvent(self, evt)
   
  +        for x in range(152):
               if self.files[x]!=None:
                   continue
               url = "http://comic.yahoo.co.kr/covers/cartoon/contents/9290/%03d.jpg" % (x+1)
  
  
  


exman       05/12/23 10:22:26

  Modified:    .        etp.pyw list.py
  Log:
  
  
  Revision  Changes    Path
  1.11      +10 -4     etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- etp.pyw	23 Dec 2005 00:55:19 -0000	1.10
  +++ etp.pyw	23 Dec 2005 01:22:26 -0000	1.11
  @@ -75,11 +75,17 @@
   
           self.list = list.ETPList(self, -1)
           self.AddPage(self.list, tr("::Enter the pet::"))
  -    def OnPageChanged(self, evt):
  -        win = self.GetCurrentPage()
  -        if win:
  +
  +        self.timer = wx.Timer(self, 900)
  +        self.timer.Bind(wx.EVT_TIMER, 900, self.OnTimer)
  +    def OnTimer(self, evt):
  +        se = self.GetSelection()
  +        if se>=0:
  +            win = self.GetPage(se)
               win.SetFocus()
  -        evt.Skip()
  +    def OnPageChanged(self, evt):
  +        self.timer.Start(100, True)
  +        evt.Skip(True)
   
       def OnTitleChange(self, evt):
           self.SetPageText(0, evt.Text)
  
  
  
  1.16      +0 -1      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- list.py	23 Dec 2005 01:00:29 -0000	1.15
  +++ list.py	23 Dec 2005 01:22:26 -0000	1.16
  @@ -96,7 +96,6 @@
   
       def UpdateDL(self, evt):
           if evt.progress[1]==0:
  -            print evt.progress
               self.Append(evt.progress[0]+1)
               return
   
  
  
  


exman       05/12/23 10:33:24

  Modified:    .        etp.pyw list.py
  Log:
  
  
  Revision  Changes    Path
  1.12      +1 -1      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- etp.pyw	23 Dec 2005 01:22:26 -0000	1.11
  +++ etp.pyw	23 Dec 2005 01:33:23 -0000	1.12
  @@ -77,7 +77,7 @@
           self.AddPage(self.list, tr("::Enter the pet::"))
   
           self.timer = wx.Timer(self, 900)
  -        self.timer.Bind(wx.EVT_TIMER, 900, self.OnTimer)
  +        #self.timer.Bind(wx.EVT_TIMER, 900, self.OnTimer)
       def OnTimer(self, evt):
           se = self.GetSelection()
           if se>=0:
  
  
  
  1.17      +9 -2      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- list.py	23 Dec 2005 01:22:26 -0000	1.16
  +++ list.py	23 Dec 2005 01:33:23 -0000	1.17
  @@ -92,9 +92,12 @@
           wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
   
           EVT_DL_PROGRESS(self, self.UpdateDL)
  -        thread.start_new_thread(self.DownloadETP, ())
  +        thread.start_new_thread(self.AppendList, ())
   
       def UpdateDL(self, evt):
  +        if evt.progress=="start_download":
  +            thread.start_new_thread(self.DownloadETP, ())
  +            return
           if evt.progress[1]==0:
               self.Append(evt.progress[0]+1)
               return
  @@ -147,11 +150,15 @@
           self.Refresh()
           return
   
  -    def DownloadETP(self):
  +    def AppendList(self):
           for x in range(152):
               evt = DLProgressEvent(progress = (x, 0))
               if evt: wx.PostEvent(self, evt)
   
  +        evt = DLProgressEvent(progress = "start_download")
  +        if evt: wx.PostEvent(self, evt)
  +
  +    def DownloadETP(self):
           for x in range(152):
               if self.files[x]!=None:
                   continue
  
  
  


exman       05/12/23 10:59:17

  Modified:    .        etp.pyw list.py
  Log:
  timer event
  
  Revision  Changes    Path
  1.13      +4 -3      etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- etp.pyw	23 Dec 2005 01:33:23 -0000	1.12
  +++ etp.pyw	23 Dec 2005 01:59:17 -0000	1.13
  @@ -64,7 +64,6 @@
           wx.Notebook.__init__(self, parent, id, size=(21,21))
           self.parent = parent
   
  -        self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
           
           if wx.Platform == '__WXMSW__':
               self.ie = iewin.IEHtmlWindow(self, 201, style = wx.NO_FULL_REPAINT_ON_RESIZE)
  @@ -77,14 +76,16 @@
           self.AddPage(self.list, tr("::Enter the pet::"))
   
           self.timer = wx.Timer(self, 900)
  -        #self.timer.Bind(wx.EVT_TIMER, 900, self.OnTimer)
  +        self.Bind(wx.EVT_TIMER, self.OnTimer)
  +        self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
  +
       def OnTimer(self, evt):
           se = self.GetSelection()
           if se>=0:
               win = self.GetPage(se)
               win.SetFocus()
       def OnPageChanged(self, evt):
  -        self.timer.Start(100, True)
  +        self.timer.Start(10, True)
           evt.Skip(True)
   
       def OnTitleChange(self, evt):
  
  
  
  1.18      +6 -3      etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- list.py	23 Dec 2005 01:33:23 -0000	1.17
  +++ list.py	23 Dec 2005 01:59:17 -0000	1.18
  @@ -120,11 +120,13 @@
       def Append(self, number):
           BasicList.Append(self)
           self.item[self.itempt].Hide()
  +        pw, ph = self.GetSize()
  +        sys.stdout.flush()
   
           self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
           self.labels.append(
                   wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  -                    wx.Point(10, 5), wx.Size(50, 20), wx.ALIGN_RIGHT))
  +                    wx.Point((pw-(CTIMGWIDTH))/2, 5), wx.Size(50, 20), wx.ALIGN_RIGHT))
   
           path = self.datadir+os.path.sep+"%03d.jpg" % number
           tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  @@ -135,12 +137,12 @@
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
               self.title.append(
                   wx.StaticBitmap(self.item[self.itempt], -1, timg, 
  -                    wx.Point(50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
  +                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
           else:
               self.files.append(None)
               self.progress.append(
                   wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(50, (CTIMGHEIGHT-15)/2), wx.Size(CTIMGWIDTH-50,15)))
  +                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3), wx.Size(CTIMGWIDTH-50,15)))
               self.title.append(None)
           self.view.append(None)
   
  @@ -204,6 +206,7 @@
   	
       def OnMouseWheel(self, evt):
           print evt.GetWheelRotation(), evt.GetWheelDelta()
  +        sys.stdout.flush()
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
           self.SetItemSize(pw, CTIMGHEIGHT+1)
  
  
  


exman       06/01/11 16:15:37

  Modified:    .        list.py
  Log:
  
  
  Revision  Changes    Path
  1.19      +14 -2     etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- list.py	23 Dec 2005 01:59:17 -0000	1.18
  +++ list.py	11 Jan 2006 07:15:37 -0000	1.19
  @@ -115,6 +115,7 @@
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
               self.title[x] = wx.StaticBitmap(self.item[x], -1, timg, 
                       wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
  +            wx.EVT_LEFT_UP(self.title[x], self.OnItemClicked)
               self.title[x].Show()
   
       def Append(self, number):
  @@ -147,6 +148,8 @@
           self.view.append(None)
   
           wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
  +        if self.title[self.itempt]:
  +            wx.EVT_LEFT_UP(self.title[self.itempt], self.OnItemClicked)
           self.item[self.itempt].Show()
           self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
           self.Refresh()
  @@ -205,8 +208,14 @@
               wx.Sleep(1)
   	
       def OnMouseWheel(self, evt):
  -        print evt.GetWheelRotation(), evt.GetWheelDelta()
  -        sys.stdout.flush()
  +        #print self.GetViewStart()
  +        #print self.GetScrollPixelsPerUnit()
  +        #print evt.GetWheelRotation(), evt.GetWheelDelta()
  +        if evt.GetWheelRotation()>0:
  +            self.Scroll(0, self.GetViewStart()[1]-1)
  +        else:
  +            self.Scroll(0, self.GetViewStart()[1]+1)
  +        #sys.stdout.flush()
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
           self.SetItemSize(pw, CTIMGHEIGHT+1)
  @@ -242,6 +251,9 @@
                   dc.DrawBitmap(self.bg_bmp, x, y)
                   y = y + h
               x = x + w
  +    def OnItemClicked(self, evt):
  +        print dir(evt)
  +        print self
   
   
   
  
  
  


exman       06/01/11 19:29:53

  Modified:    .        list.py
  Log:
  click
  
  Revision  Changes    Path
  1.20      +162 -84   etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- list.py	11 Jan 2006 07:15:37 -0000	1.19
  +++ list.py	11 Jan 2006 10:29:53 -0000	1.20
  @@ -11,35 +11,41 @@
       else:
           return message
   
  +class BasicListItem(wx.Panel):
  +    def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TAB_TRAVERSAL, name="pannel"):
  +        wx.Panel.__init__(self, parent, id, pos, size, style, name)
  +
   class BasicList(wx.ScrolledWindow):
       def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           wx.ScrolledWindow.__init__(self,parent,id,pos,size,style,name)
           #self.SetBackgroundColour(wx.NamedColor("WHITE"))
  -        self.itemsize=(100,20)
  -        self.itemposition=[]
  -        self.item=[]
  +        self.items=[]
           self.itempt=-1
           self.maxWidth=1000
           self.maxHeight=1000
           self.SetScrollbars(0, 0, 0, 0)
   
  -    def SetItemSize(self,width,height):
  -        self.itemsize=(width,height)
  -	
  -    def Append(self):
  +    def Append(self, item=None):
           self.itempt=self.itempt+1
  -        self.itemposition.append(wx.Point(0,(self.itempt*self.itemsize[1])))
  -        self.item.append(wx.Panel(self,-1,self.itemposition[self.itempt],wx.Size(self.itemsize[0],self.itemsize[1])))
  -        #self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  +        h = 0
  +        for x in self.items:
  +            h += x.GetSize()[1]
  +        if item:
  +            item.Move(wx.Point(0, h))
  +            self.items.append(item)
  +        else:
  +            self.items.append(wx.Panel(self,-1, wx.Point(0, h)))
  +        #self.items[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  +        self.SetScrollbars(0, self.items[-1].GetSize()[1], 0, len(self.items))
   
       def Delete(self,n):
  -        self.item[n].Destroy()
  -        self.item[n]=None
  +        self.items[n].Destroy()
  +        self.items[n]=None
   
  -        for x in range(n+1,len(self.item)):
  -            self.item[x].Move(wx.Point(0,self.itemposition[x][1]-self.itemsize[1]))
  -            self.item[x-1]=self.item[x]
  -        self.item.pop()
  +        for x in range(n+1,len(self.items)):
  +            self.items[x].Move(wx.Point(0,self.itemposition[x][1]-self.itemsize[1]))
  +            self.items[x-1]=self.items[x]
  +        self.items.pop()
   
           self.itemposition.pop()
   
  @@ -52,15 +58,145 @@
   CTIMGWIDTH = 464
   CTIMGHEIGHT = 25
   (DLProgressEvent, EVT_DL_PROGRESS) = wx.lib.newevent.NewEvent()
  +import sys
  +class ETPListItem(BasicListItem):
  +    def __init__(self, parent, number, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TAB_TRAVERSAL, name="pannel"):
  +        BasicListItem.__init__(self, parent, id, pos, size, style, name)
  +        pw = parent.GetSize()[0]
  +        if pw>CTIMGWIDTH:
  +            BasicListItem.SetSize(self, wx.Size(pw, CTIMGHEIGHT+1))
  +        else:
  +            BasicListItem.SetSize(self, wx.Size(CTIMGWIDTH, CTIMGHEIGHT+1))
  +        self.Hide()
  +
  +        self.mode = 0
  +        self.parent = parent
  +        self.datadir = parent.datadir
  +        pw, ph = self.parent.GetSize()
  +
  +        self.file = None
  +        self.label = wx.StaticText(self, -1, tr("%d편" % number), 
  +                    wx.Point((pw-(CTIMGWIDTH))/2, 5), wx.Size(50, 20), 
  +                    wx.ALIGN_RIGHT)
  +        self.progress = None
  +        self.title = None
  +        self.view = None
  +
  +        self.SetBackgroundColour(wx.NamedColor("WHITE"))
  +
  +
  +        path = self.datadir+os.path.sep+"%03d.jpg" % number
  +        tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  +        if os.path.exists(path) and os.path.exists(tpath):
  +            self.file = "%03d.jpg" % number
  +            self.progress = None
  +
  +            timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +            self.title = wx.StaticBitmap(self, -1, timg, 
  +                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), 
  +                    wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
  +            self.mode = 1
  +        else:
  +            self.file = None
  +            self.progress = wx.Gauge(self, -1, 100, 
  +                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3), 
  +                    wx.Size(CTIMGWIDTH-50,15))
  +            self.title = None
  +            self.mode = 0
  +
  +        wx.EVT_ERASE_BACKGROUND(self, self.OnListItemEraseBG)
  +        if self.title:
  +            wx.EVT_LEFT_UP(self.title, self.OnItemClicked)
  +        self.Show()
  +        return
  +
  +    def OnListItemEraseBG(self, evt):
  +        dc = evt.GetDC()
  +        if not dc:
  +            dc = wx.ClientDC(self.GetClientWindow())
  +        # tile the background bitmap
  +        sz = self.GetClientSize()
  +        w = sz.GetWidth()
  +        h = sz.GetHeight()
  +        dc.DrawRectangle(-1, -1, w, h+1)
  +
  +    def OnItemClicked(self, evt):
  +        if self.mode==0:
  +            return
  +        if self.mode==1:
  +            path = self.datadir+os.path.sep+self.file
  +            if os.path.exists(path):
  +                img = wx.Image(path, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +                self.title.SetBitmap(img)
  +                self.title.SetSize(wx.Size(img.GetWidth(), img.GetHeight()-1))
  +                w = self.GetSize()[0]
  +                self.mode = 2
  +                BasicListItem.SetSize(self, wx.Size(w, img.GetHeight()))
  +        elif self.mode==2:
  +            path = self.datadir+os.path.sep+"t_"+self.file
  +            if os.path.exists(path):
  +                img = wx.Image(path, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +                self.title.SetBitmap(img)
  +                self.title.SetSize(wx.Size(img.GetWidth(), img.GetHeight()))
  +                w = self.GetSize()[0]
  +                self.mode = 1
  +                BasicListItem.SetSize(self, wx.Size(w, CTIMGHEIGHT+1))
  +        th = 0
  +        top = 0
  +        topi = 0
  +        i = 0
  +        self.parent.Scroll(0, 0)
  +        for item in self.parent.items:
  +            w, h = item.GetSize()
  +            if item!=self and h > CTIMGHEIGHT+1:
  +                if item.mode==2:
  +                    path = item.datadir+os.path.sep+"t_"+item.file
  +                    if os.path.exists(path):
  +                        img = wx.Image(path, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  +                        item.title.SetBitmap(img)
  +                        item.title.SetSize(wx.Size(img.GetWidth(), img.GetHeight()))
  +                        w = item.GetSize()[0]
  +                        item.mode = 1
  +                item.SetSize(wx.Size(w, CTIMGHEIGHT+1))
  +                h = CTIMGHEIGHT+1
  +            if item==self:
  +                top = th
  +                topi = i
  +            item.Move(wx.Point(0, th))
  +            th += h
  +            i += 1
  +            item.Refresh()
  +        if self.mode==2:
  +            self.parent.SetScrollbars(0, 50, 0, (th/20)+1)
  +            self.parent.Scroll(0, top/50)
  +        else:
  +            self.parent.SetScrollbars(0, CTIMGHEIGHT+1, 0, len(self.parent.items))
  +            self.parent.Scroll(0, topi)
  +        self.parent.Refresh()
  +
  +
  +
  +
  +
  +
  +    def SetSize(self, size):
  +        BasicListItem.SetSize(self, size)
  +        self.label.SetPosition(wx.Point((size[0]-(CTIMGWIDTH))/2, 5))
  +        if self.progress:
  +            self.progress.SetPosition(wx.Point(((size[0]-(CTIMGWIDTH))/2)+50, 3))
  +        if self.title:
  +            self.title.SetPosition(wx.Point(((size[0]-(CTIMGWIDTH))/2)+50, 0))
  +
  +
  +
  +
   class ETPList(BasicList):
       def __init__(self,parent,id=-1,pos=wx.DefaultPosition,size =wx.DefaultSize, style = wx.HSCROLL | wx.VSCROLL, name = "scrolledWindow"):
           BasicList.__init__(self,parent,id,pos,size,style,name)
   
           self.parent = parent
           pw, ph = self.parent.GetSizeTuple()
  -        self.SetItemSize(pw, CTIMGHEIGHT+1)
   
  -        self.SetScrollbars(0, self.itemsize[1], 0, 0)
   
   
           self.datadir = ""
  @@ -75,13 +211,6 @@
           if self.datadir=="":
               return
   
  -        self.files = []
  -        self.labels = []
  -        self.progress = []
  -        self.title = []
  -        self.view = []
  -
  -
           # bind the events to handlers
           #file = os.path.abspath(os.path.dirname(sys.argv[0]))\
           #        +os.path.sep+"background.png"
  @@ -110,50 +239,17 @@
                   self.progress[x].Destroy()
                   self.progress[x] = None
   
  -            pw, ph = self.item[x].GetSize()
  +            pw, ph = self.items[x].GetSize()
               tpath = self.datadir+os.path.sep+"t_%03d.jpg" % (x+1)
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  -            self.title[x] = wx.StaticBitmap(self.item[x], -1, timg, 
  +            self.title[x] = wx.StaticBitmap(self.items[x], -1, timg, 
                       wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
               wx.EVT_LEFT_UP(self.title[x], self.OnItemClicked)
               self.title[x].Show()
   
       def Append(self, number):
  -        BasicList.Append(self)
  -        self.item[self.itempt].Hide()
  -        pw, ph = self.GetSize()
  -        sys.stdout.flush()
  -
  -        self.item[self.itempt].SetBackgroundColour(wx.NamedColor("WHITE"))
  -        self.labels.append(
  -                wx.StaticText(self.item[self.itempt], -1, tr("%d편" % number), 
  -                    wx.Point((pw-(CTIMGWIDTH))/2, 5), wx.Size(50, 20), wx.ALIGN_RIGHT))
  -
  -        path = self.datadir+os.path.sep+"%03d.jpg" % number
  -        tpath = self.datadir+os.path.sep+"t_%03d.jpg" % number
  -        if os.path.exists(path) and os.path.exists(tpath):
  -            self.files.append("%03d.jpg" % number)
  -            self.progress.append(None)
  -
  -            timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  -            self.title.append(
  -                wx.StaticBitmap(self.item[self.itempt], -1, timg, 
  -                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT)))
  -        else:
  -            self.files.append(None)
  -            self.progress.append(
  -                wx.Gauge(self.item[self.itempt], -1, 100, 
  -                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3), wx.Size(CTIMGWIDTH-50,15)))
  -            self.title.append(None)
  -        self.view.append(None)
  -
  -        wx.EVT_ERASE_BACKGROUND(self.item[self.itempt], self.OnListItemEraseBG)
  -        if self.title[self.itempt]:
  -            wx.EVT_LEFT_UP(self.title[self.itempt], self.OnItemClicked)
  -        self.item[self.itempt].Show()
  -        self.SetScrollbars(0, self.itemsize[1], 0, len(self.item))
  -        self.Refresh()
  -        return
  +        item = ETPListItem(self, number, -1)
  +        BasicList.Append(self, item)
   
       def AppendList(self):
           for x in range(152):
  @@ -165,7 +261,7 @@
   
       def DownloadETP(self):
           for x in range(152):
  -            if self.files[x]!=None:
  +            if self.items[x].file!=None:
                   continue
               url = "http://comic.yahoo.co.kr/covers/cartoon/contents/9290/%03d.jpg" % (x+1)
               evt = DLProgressEvent(progress = (x, 20))
  @@ -218,24 +314,9 @@
           #sys.stdout.flush()
       def OnSize(self, evt):
           pw, ph = evt.GetSize()
  -        self.SetItemSize(pw, CTIMGHEIGHT+1)
  -        for x in range(len(self.item)):
  -            self.item[x].SetSize(wx.Size(pw, self.item[x].GetSize()[1]))
  -            self.labels[x].SetPosition(wx.Point((pw-(CTIMGWIDTH))/2, 5))
  -            if self.progress[x]:
  -                self.progress[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3))
  -            if self.title[x]:
  -                self.title[x].SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0))
  -        self.Refresh()
  -    def OnListItemEraseBG(self, evt):
  -        dc = evt.GetDC()
  -        if not dc:
  -            dc = wx.ClientDC(self.GetClientWindow())
  -        # tile the background bitmap
  -        sz = self.GetClientSize()
  -        w = sz.GetWidth()
  -        h = sz.GetHeight()
  -        dc.DrawRectangle(-1, -1, w, CTIMGHEIGHT+2)
  +        for x in range(len(self.items)):
  +            self.items[x].SetSize(wx.Size(pw, self.items[x].GetSize()[1]))
  +        #self.Refresh()
       def OnListEraseBackground(self, evt):
           dc = evt.GetDC()
           if not dc:
  @@ -251,9 +332,6 @@
                   dc.DrawBitmap(self.bg_bmp, x, y)
                   y = y + h
               x = x + w
  -    def OnItemClicked(self, evt):
  -        print dir(evt)
  -        print self
   
   
   
  
  
  


exman       06/01/11 22:41:58

  Modified:    .        list.py
  Log:
  enhanced scroll
  
  Revision  Changes    Path
  1.21      +23 -13    etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- list.py	11 Jan 2006 10:29:53 -0000	1.20
  +++ list.py	11 Jan 2006 13:41:58 -0000	1.21
  @@ -101,12 +101,13 @@
               self.progress = wx.Gauge(self, -1, 100, 
                       wx.Point(((pw-(CTIMGWIDTH))/2)+50, 3), 
                       wx.Size(CTIMGWIDTH-50,15))
  -            self.title = None
  +            self.title = wx.StaticBitmap(self, -1)
  +            self.title.Hide()
               self.mode = 0
   
           wx.EVT_ERASE_BACKGROUND(self, self.OnListItemEraseBG)
  -        if self.title:
  -            wx.EVT_LEFT_UP(self.title, self.OnItemClicked)
  +        wx.EVT_LEFT_UP(self, self.OnItemClicked)
  +        wx.EVT_LEFT_UP(self.title, self.OnItemClicked)
           self.Show()
           return
   
  @@ -167,8 +168,8 @@
               i += 1
               item.Refresh()
           if self.mode==2:
  -            self.parent.SetScrollbars(0, 50, 0, (th/20)+1)
  -            self.parent.Scroll(0, top/50)
  +            self.parent.SetScrollbars(0, 100, 0, (th/100)+1)
  +            self.parent.Scroll(0, top/100)
           else:
               self.parent.SetScrollbars(0, CTIMGHEIGHT+1, 0, len(self.parent.items))
               self.parent.Scroll(0, topi)
  @@ -231,21 +232,30 @@
               self.Append(evt.progress[0]+1)
               return
   
  -        self.progress[evt.progress[0]].SetValue(evt.progress[1])
  +        self.items[evt.progress[0]].progress.SetValue(evt.progress[1])
           x = evt.progress[0]
           p = evt.progress[1]
           if p==100:
  -            if self.progress[x]:
  -                self.progress[x].Destroy()
  -                self.progress[x] = None
  +            if self.items[x].progress:
  +                self.items[x].progress.Destroy()
  +                self.items[x].progress = None
   
               pw, ph = self.items[x].GetSize()
               tpath = self.datadir+os.path.sep+"t_%03d.jpg" % (x+1)
               timg = wx.Image(tpath, wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
  -            self.title[x] = wx.StaticBitmap(self.items[x], -1, timg, 
  -                    wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
  -            wx.EVT_LEFT_UP(self.title[x], self.OnItemClicked)
  -            self.title[x].Show()
  +            self.items[x].title.SetBitmap(timg)
  +            self.items[x].title.SetPosition(wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0))
  +            self.items[x].title.SetSize(wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
  +            self.items[x].title.Show()
  +            self.items[x].mode = 1
  +            self.items[x].file = "%03d.jpg" % (x+1)
  +            #print "event on", x
  +            #sys.stdout.flush()
  +            #wx.EVT_LEFT_UP(self.items[x].title, self.items[x].OnItemClicked)
  +            #self.items[x].title.Show()
  +            #self.title = wx.StaticBitmap(self, -1)
  +            #        wx.Point(((pw-(CTIMGWIDTH))/2)+50, 0), 
  +            #        wx.Size(CTIMGWIDTH-50, CTIMGHEIGHT))
   
       def Append(self, number):
           item = ETPListItem(self, number, -1)
  
  
  


exman       06/01/12 14:56:11

  Modified:    .        etp.pyw list.py setup.py
  Log:
  version 0.1 release!!!
  
  Revision  Changes    Path
  1.14      +19 -2     etp/etp.pyw
  
  Index: etp.pyw
  ===================================================================
  RCS file: /cvsroot/simin/etp/etp.pyw,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- etp.pyw	23 Dec 2005 01:59:17 -0000	1.13
  +++ etp.pyw	12 Jan 2006 05:56:10 -0000	1.14
  @@ -26,9 +26,16 @@
       else:
           return message
   
  +DEFAULTDIR = os.path.dirname(sys.argv[0])
  +if DEFAULTDIR=="":
  +    DEFAULTDIR="."
  +if len(sys.argv)==1:
  +    sys.stdout = open(os.path.devnull, "w")
  +    sys.stderr = open(os.path.devnull, "w")
  +
   class MySplashScreen(wx.SplashScreen):
       def __init__(self):
  -        bmp = wx.Image("etp.png").ConvertToBitmap()
  +        bmp = wx.Image(DEFAULTDIR+os.path.sep+"etp.png").ConvertToBitmap()
           wx.SplashScreen.__init__(self, bmp,
                                    wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
                                    5000, None, -1)
  @@ -111,7 +118,7 @@
           bmp=wx.Image("./ggorroworks.png", wx.BITMAP_TYPE_PNG).ConvertToBitmap()
           icon.CopyFromBitmap(bmp)
           """
  -        icon = wx.Icon("ggorroworks.ico", wx.BITMAP_TYPE_ICO)
  +        icon = wx.Icon(DEFAULTDIR+os.path.sep+"ggorroworks.ico", wx.BITMAP_TYPE_ICO)
           self.SetIcon(icon)
   
   
  @@ -132,6 +139,7 @@
           
           wx.EVT_CLOSE(self, self.OnClose)
           wx.EVT_MENU(self, 101, self.OnClose)
  +        wx.EVT_MENU(self, 901, self.OnAbout)
   
           
           self.SetMenuBar(menubar)
  @@ -145,6 +153,15 @@
           self.SetAutoLayout(True)
   
   
  +    def OnAbout(self, evt):
  +        dlg = wx.MessageDialog(self, 
  +                tr('꼬로님과 꼬사모를 위한 Enter the pet 뷰어'),
  +                tr('정보'),
  +                wx.OK | wx.ICON_INFORMATION
  +                )
  +        dlg.ShowModal()
  +        dlg.Destroy()
  +
   
       def OnClose(self, evt):
           self.Destroy()
  
  
  
  1.22      +24 -0     etp/list.py
  
  Index: list.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/list.py,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- list.py	11 Jan 2006 13:41:58 -0000	1.21
  +++ list.py	12 Jan 2006 05:56:10 -0000	1.22
  @@ -220,6 +220,7 @@
   
           wx.EVT_SIZE(self, self.OnSize)
           wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
  +        wx.EVT_KEY_DOWN(self, self.OnKeyDown)
   
           EVT_DL_PROGRESS(self, self.UpdateDL)
           thread.start_new_thread(self.AppendList, ())
  @@ -313,6 +314,29 @@
               if evt: wx.PostEvent(self, evt)
               wx.Sleep(1)
   	
  +    def OnKeyDown(self, evt):
  +        mode2 = -1
  +        i = 0
  +        for item in self.items:
  +            if item.mode==2:
  +                mode2 = i
  +                break
  +            i+=1
  +        if mode2==-1:
  +            self.items[0].OnItemClicked(evt)
  +            return
  +
  +        if evt.GetKeyCode()==wx.WXK_NEXT:
  +            if mode2==(len(self.items)-1):
  +                return
  +            self.items[mode2+1].OnItemClicked(evt)
  +            return
  +        elif evt.GetKeyCode()==wx.WXK_PRIOR:
  +            if mode2==0:
  +                return
  +            self.items[mode2-1].OnItemClicked(evt)
  +            return
  +        evt.Skip()
       def OnMouseWheel(self, evt):
           #print self.GetViewStart()
           #print self.GetScrollPixelsPerUnit()
  
  
  
  1.2       +76 -5     etp/setup.py
  
  Index: setup.py
  ===================================================================
  RCS file: /cvsroot/simin/etp/setup.py,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- setup.py	12 Dec 2005 04:48:02 -0000	1.1
  +++ setup.py	12 Jan 2006 05:56:10 -0000	1.2
  @@ -13,7 +13,7 @@
   <assemblyIdentity
       version="5.0.0.0"
       processorArchitecture="x86"
  -    name="GameChk"
  +    name="Enter the pet"
       type="win32"
   />
   <description>kwoncha SW</description>
  @@ -47,6 +47,7 @@
   
   class InnoScript:
       def __init__(self,
  +                 group,
                    name,
                    lib_dir,
                    dist_dir,
  @@ -58,6 +59,7 @@
           if not self.dist_dir[-1] in "\\/":
               self.dist_dir += "\\"
           self.name = name
  +        self.group = group
           self.version = version
           self.windows_exe_files = [self.chop(p) for p in windows_exe_files]
           self.lib_files = [self.chop(p) for p in lib_files]
  @@ -74,13 +76,18 @@
           print >> ofi, r"[Setup]"
           print >> ofi, r"AppName=%s" % self.name
           print >> ofi, r"AppVerName=%s %s" % (self.name, self.version)
  -        print >> ofi, r"DefaultDirName={pf}\%s" % self.name
  -        print >> ofi, r"DefaultGroupName=%s" % self.name
  +        print >> ofi, r"AppPublisher=ο"
  +	print >> ofi, r"AppPublisherURL=http://www.ggorro.com"
  +        print >> ofi, r"DefaultDirName={pf}\%s\%s" % ("GGORROWORKS", self.name)
  +        print >> ofi, r"DefaultGroupName=%s" % self.group
  +        print >> ofi, r"Compression=lzma"
  +        print >> ofi, r"SolidCompression=yes"
  +        print >> ofi, r"SetupIconFile=%s" %  'ggorroworks.ico'
           print >> ofi
   
           print >> ofi, r"[Files]"
           for path in self.windows_exe_files + self.lib_files:
  -            print >> ofi, r'Source: "%s"; DestDir: "{app}\%s"; Flags: ignoreversion' % (path, os.path.dirname(path))
  +            print >> ofi, r'Source: "%s"; DestDir: "{app}\%s"; Flags: ignoreversion;' % (path, os.path.dirname(path))
           print >> ofi
   
           print >> ofi, r"[Icons]"
  @@ -88,11 +95,75 @@
               print >> ofi, r'Name: "{group}\%s"; Filename: "{app}\%s"' % \
                     (self.name, path)
           print >> ofi, 'Name: "{group}\Uninstall %s"; Filename: "{uninstallexe}"' % self.name
  +	print >> ofi, 'Name: "{userdesktop}\%s"; Filename: "{app}\ETP.exe"; Tasks: desktopicon' % self.name
   
   
  +        print >> ofi, r"[Languages]"
  +	#print >> ofi, r'Name: "english"; MessagesFile: "compiler:Default.isl"'
  +	print >> ofi, r'Name: "korean"; MessagesFile: "compiler:Languages\Korean.isl"'
  +        print >> ofi
  +
  +        print >> ofi, r"[Tasks]"
  +	print >> ofi, r'Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"'
  +        print >> ofi
  +
  +
  +
  +        print >> ofi, r"[Run]"
  +        print >> ofi, r'Filename: "{app}\ETP.exe"; Description: "{cm:LaunchProgram,My Program}"; Flags: nowait postinstall skipifsilent'
  +        print >> ofi
  +	"""
   	print >> ofi, r"[Registry]"
   	print >> ofi, r'Root: HKCR; Subkey: "ETP"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""'
   	print >> ofi, r'Root: HKCR; Subkey: "ETP\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\ETP.exe %1"'
  +	"""
  +	print >> ofi, r"""
  +[Code]
  +var Page: TInputQueryWizardPage;
  +var Answer1: String;
  +var Answer2: String;
  +var Answer3: String;
  +
  +procedure InitializeWizard;
  +begin
  +  // Create the pages:
  +  Page := CreateInputQueryPage(wpWelcome,
  +    'ġϱ  ݵ Ǯ ', '    ͳ        ݵ Ǯ ġ  մϴ. ',
  +    'δ  ̶   ֽϴ. :-)   亯 ä  ư ʽÿ.');
  +  Page.Add('ù ? (Ʈ: )', False);
  +  Page.Add('̴  ϴ ֿϵ ̸? (Ʈ: 뾾)', False);
  +  Page.Add('! !! ϱ? (Ʈ: )', False);
  +
  +end;
  +
  +function NextButtonClick(CurPageID: Integer): Boolean;
  +begin
  +  // Validate certain pages before allowing the user to proceed:
  +  if CurPageID = Page.ID then
  +    begin
  +      Answer1 :=  Page.Values[0];
  +      Answer2 :=  Page.Values[1];
  +      Answer3 :=  Page.Values[2];
  +
  +      if (Answer1 = 'Ǻ') and (Answer2 = '뵹') and (Answer3 = '') then
  +        begin
  +          MsgBox('! Դϴ~!  ̽ñ.', mbInformation, MB_OK);
  +          Result := True;
  +        end
  +      else
  +        begin
  +          MsgBox(' ΰ!!! ̰͵ ߴٴ... !  iƳ~', mbConfirmation, MB_OK);
  +          Result := False;
  +        end
  +    end
  +  else
  +    Result := True;
  +end;
  +
  +
  +"""
  +	ofi.close()
  +        open("output.iss","w").write(open(pathname).read())
   
   
   
  @@ -138,7 +209,7 @@
           dist_dir = self.dist_dir
           
           # create the Installer, using the files py2exe has created.
  -        script = InnoScript("Enter the pet",
  +        script = InnoScript("ο", "Enter the pet",
                               lib_dir,
                               dist_dir,
                               self.windows_exe_files,
  
  
  


