Sandip> hi<cap6> I'm responding, but it doesnt seem to be going through<cap6> _flags is an unsigned int so there's 32 bits<cap6> if selected = true set the _cnt bit in _flags to 1<Sandip> and what he meant by update pattern ?<cap6> say for instance the bits in _flags is 000000000001110000001111<cap6> every 1 in that pattern matches up with a checked checkmark<Sandip> ok<Sandip> then<cap6> the full line would be<cap6> if (selected==true) _flags = _flags<cap6> dammnit<cap6> if (selected==true) _flags = _flags | 1 << _cnt;<cap6> that will update the bit pattern<Sandip> _cnt is the bit we ARE looking at you mean ?<cap6> _cnt is how many checkmarks we've already added so by leftshifting _cnt times you set the correct bit<Sandip> Can you be able to correct my code ? As this function is the main function* [cap6] (~cap6@bas1-aurora91-3096739336.dsl.bell.ca): ...* [cap6] #seneca-oop344* [cap6] holmes.freenode.net :London, UK* [cap6] idle 00:01:30, signon: Tue Dec 06 18:21:23* [cap6] is logged in as cap6* [cap6] End of WHOIS list.<Sandip> I am quite understanding what your saying now<Sandip> we got 32 checkbox<Sandip> and when we click on any of them we have to update bit pattern according to<cap6> yup you have to change the bit that corresponds to the clicked checkmark<Sandip> shoudn't it be like this if (selected==true) _flags = _flags | 1 << (_cnt - 1);<cap6> it all depends on when you increase _cnt<cap6> if you dont increase _cnt till the very end of the function then you dont need the -1<Sandip> so can you go into my branch and pick checklist folder and edit that function for me and commit<cap6> alright<Sandip> so that credit will goes to your account<Sandip> as you helped me doing this function<Sandip> still when i run my code I am getting wired errors ?<cap6> the only problem that I'm getting is with draw<cap6> and that's only because it hasnt been written yet<cap6> I committed a working add to your branch<Sandip> well we just need to call draw function from chekmarks thats it<Sandip> I already done that<cap6> no<cap6> by saying draw(fn);<Sandip> ya<Sandip> I did that<cap6> you've created infinite recursion<Sandip> didnt you see that<Sandip> I am done with all of other functions<Sandip> ohh<Sandip> I seee thats why i am getting weird erros<cap6> you're calling CChecklist::draw(fn) within CChecklistFile::draw(fn)<Sandip> should I have to create my own draw function<cap6> o yeah<cap6> you have to draw each checkmark<cap6> and call CFrame::draw();<Sandip> the way you did in checkmark class right ?<cap6> for each _checkmarks you just call their draw()<cap6> _checkmarks[i]->draw();<Sandip> so I go through all check mark using _cur variable and then call that function<Sandip> right ?<cap6> you can just use i<cap6> and make a for loop<Sandip> ok I do that and let you know<cap6> k<Sandip> ya it draws the checkmarks but at the end gives some violation error<Sandip> Unhandled exception ?<cap6> you probably tried to draw a checkmark that wasnt there<cap6> like you went past _cnt<Sandip> ok<Sandip> ya your right ?<Sandip> fixed that<Sandip> I got a great help from you<cap6> np<Sandip> be right here. I will come after fixing some of the things and will let you know for some other help I need. One more thing we should update our team page with our chat log<cap6> I dont think we can link the chat if it's private like this<Sandip> why so<Sandip> I can take either screen shot or copy all our chat<cap6> that's true I guess<cap6> didnt think about that<Sandip> well tell me draw function accept parameter fn<Sandip> what is that<Sandip> do we have to use fn or _cnt ?<Sandip> to draw checklist<cap6> you can just leave it blank<cap6> it doesnt affect the checklist<Sandip> I used _cnt for now<cap6> cdialog.draw is that only one that actually uses the fn parameter<Sandip> I dont know I think I have some bugs in my edit function when I try to select another checkmarks loop goes infinite<cap6> could be a bunch of different things<Sandip> what could be the reason ?<cap6> Where's the infinite loop actually happening?<Sandip> Inside edit function<Sandip> take a look to my code<Sandip> I have written key = edit();<Sandip> might be that causes to happen infinite looping<Sandip> as I am already inside the edit function<cap6> yeah you cant do that<cap6> key = _checkmarks[_curjpg].edit()<Sandip> I tried that<Sandip> but that gives me an error<Sandip> I used console.getKey();<cap6> that's different<cap6> you have to call the checkmark edit<Sandip> but why ? as your already inside your edit function<Sandip> you just need to grab a key<cap6> you're in the checklist edit not the checkmark's edit<Sandip> key = _checkmarks[_cur]->edit()<Sandip> this line causes an error to occur<cap6> what's the error?<Sandip> access violation when I hit enter<Sandip> when i hit enter/left/right any key<Sandip> i got access violation error<cap6> I'm not sure what's causing it<cap6> o<cap6> _checkmarks[i] became null somehow<Sandip> ok tell me when I go through all check marks how do I make them checked or unchecked<Sandip> using _flags ?<cap6> _checkmarks[i]->checked(true or false)<cap6> then you have to update the _flag<Sandip> _flags = _checkmarks[i]->checked() ? 1: 0;<Sandip> right<cap6> no<cap6> you have to use bitwise operators<Sandip> _flags = 1 << _cur;<cap6> _flags = _flags ^ 1<<_cur;<cap6> that will flip the bit no matter what it was<Sandip> then it would also affect the others<cap6> nope<cap6> it exclusive ORs it<Sandip> ok now i would be able to go to the first check mark<cap6> o the first checked checkmark?<Sandip> the problem that I am getting now is when I hit space it does select the check mark but when I hit up or down key it doesnt go to the next one<Sandip> ya<cap6> can you commit it<Sandip> ok<Sandip> now I have committed all of my changes<cap6> k<Sandip> you can take a look at it<cap6> one thing you need to take out is your default part of the case<cap6> you dont want to exit as a default<Sandip> ok<cap6> and you dont move through the list because you never increase or decrease cur in your down/up cases<Sandip> I do I mean I set down = 1 or 0 so that when it comes inside the switch by default it goes into case 0<Sandip> where I increase or decrease them<cap6> it doesnt work like that<Sandip> let me try what your saying<cap6> you have to increase and decrease in the up/down cases<Sandip> ya your right<cap6> I think you can take that "0" case out<Sandip> ok I did it now when I press right or down continue then it gives me violation error<Sandip> I think this is because _cur exceeds it limit right ?<cap6> yeah<cap6> o<Sandip> how do I check to see that _cur is the last one ?<cap6> you have to use _cnt not 32<Sandip> If i use _cnt only then it would stop at 3rd position only<cap6> _cnt should be 7<Sandip> well we cant hard code it<Sandip> dont you think so ?<cap6> you cant hard code it<cap6> _cnt should be 7 and it shouldnt be stopping at the 3rd one<Sandip> I have committed my code take a look at it and once you solved commit it back<Sandip> I think I am very close to finish everything up<cap6> you have no condition for the down/right one<cap6> it just says _cur<Sandip> (_cur) ? (done = true) ? _cur++;<cap6> (_cur >= _cnt-1)? (done = true) : _cur++;<Sandip> this is the condition I set it<cap6> that's what it should be<Sandip> awesome<cap6> your space case isnt correct<Sandip> did you committed your changes<cap6> no<Sandip> or should I commit<cap6> you can just do it<Sandip> ok<Sandip> now it says that it is a radio list but still I can be able to select all of them ?<Sandip> even if i had a condition inside of my edit function<Sandip> when you hit space it checks that is it a radio list or simple check list by calling a radio() function<cap6> your conditions arent correct<Sandip> then according to your suggestion i am selecting the current one and setting others to 0<Sandip> why is so ?<Sandip> radio() checks that it is a radio list or not<Sandip> am I correct ?<cap6> it does<cap6> you can also just use _radio<Sandip> then<Sandip> ?<cap6> in your for loop you have to decheck all the checkmarks<cap6> then set _flags to 0<Sandip> _flags = _flags ^ 1<<_cur<cap6> that works for when it's not radio<Sandip> ok<Sandip> i check it with another condition<cap6> you also have to change the checked value of the checkmark object<Sandip> what is that mean ?<Sandip> checkmark object ?<cap6> _checkmarks[i]->checked(false)<cap6> I added a txt file to your branch that has what I think the space case should be<cap6> I'll be back in a couple mins<Sandip> you there<Sandip> hey<Sandip> you there<Sandip> void* data();<Sandip> returns the bit pattern held in _flags.<Sandip> make sure _flags are updated to the status of the _checkmarks<Sandip> This is the final question