# GenerateCluster.py

from gpanel import *

datafile = "customer.dat"

def loadData(fileName):
    try:
        fData = open(fileName, 'r')
    except:
        return []
    out = []
    for line in fData:
        line = line[:-1]  # remove \n
        if len(line) == 0:  # empty line
            continue
        li = [i for i in line.split(",")]
        out.append(li)
    fData.close()
    return out

def onMousePressed(x, y):
    global addedSamples, nbSamples
    if fOut.closed:
        return
    if isLeftMouseButton():
        pos(x, y)
        fillCircle(0.5)
        fOut.write(str(x) + "," + str(y) + "\n")
        addedSamples += 1
        title("Sample # " + str(addedSamples) + " added")
    if isRightMouseButton():
        fOut.close()
        nbSamples += addedSamples
        title("Data file closed with " + str(nbSamples) + " samples")

makeGPanel(-10, 110, -10, 110, mousePressed = onMousePressed)
drawGrid(0, 100, 0, 100, "gray")
text(98, -8, "Age",)
text(-8, 105, "Income (in 1000)",)
data = loadData(datafile)
fOut = open(datafile, "a")
setColor("black")
for sample in data:
    pt = [float(sample[0]), float(sample[1]), -1]
    pos(pt)
    fillCircle(0.5)
nbSamples = len(data)
addedSamples = 0
title(str(nbSamples) + " samples loaded")
setColor("blue")
keep()


