|
Lines 780-799
Link Here
|
| 780 |
*/ |
780 |
*/ |
| 781 |
public void setLocked (boolean locked) { |
781 |
public void setLocked (boolean locked) { |
| 782 |
checkWidget (); |
782 |
checkWidget (); |
|
|
783 |
if (this.locked == locked) return; |
| 783 |
this.locked = locked; |
784 |
this.locked = locked; |
|
|
785 |
setRedraw (false); |
| 784 |
int count = OS.SendMessage (handle, OS.RB_GETBANDCOUNT, 0, 0); |
786 |
int count = OS.SendMessage (handle, OS.RB_GETBANDCOUNT, 0, 0); |
| 785 |
REBARBANDINFO rbBand = new REBARBANDINFO (); |
787 |
REBARBANDINFO[] bandInfos = new REBARBANDINFO[count]; |
| 786 |
rbBand.cbSize = REBARBANDINFO.sizeof; |
788 |
for (int i = 0; i < count; i++) { |
| 787 |
rbBand.fMask = OS.RBBIM_STYLE; |
789 |
bandInfos[i] = new REBARBANDINFO(); |
| 788 |
for (int i=0; i<count; i++) { |
790 |
bandInfos[i].cbSize = REBARBANDINFO.sizeof; |
| 789 |
OS.SendMessage (handle, OS.RB_GETBANDINFO, i, rbBand); |
791 |
bandInfos[i].fMask = OS.RBBIM_STYLE | OS.RBBIM_ID | OS.RBBIM_CHILD | OS.RBBIM_CHILDSIZE | OS.RBBIM_IDEALSIZE | OS.RBBIM_SIZE; |
|
|
792 |
OS.SendMessage (handle, OS.RB_GETBANDINFO, i, bandInfos[i]); |
| 793 |
} |
| 794 |
for (int i = 0; i < count; i++) { |
| 795 |
OS.SendMessage(handle, OS.RB_DELETEBAND, 0, 0); |
| 796 |
} |
| 797 |
for (int i = 0; i < count; i++) { |
| 790 |
if (locked) { |
798 |
if (locked) { |
| 791 |
rbBand.fStyle |= OS.RBBS_NOGRIPPER; |
799 |
bandInfos[i].fStyle |= OS.RBBS_NOGRIPPER; |
| 792 |
} else { |
800 |
} else { |
| 793 |
rbBand.fStyle &= ~OS.RBBS_NOGRIPPER; |
801 |
bandInfos[i].fStyle &= ~OS.RBBS_NOGRIPPER; |
| 794 |
} |
802 |
} |
| 795 |
OS.SendMessage (handle, OS.RB_SETBANDINFO, i, rbBand); |
803 |
OS.SendMessage (handle, OS.RB_INSERTBAND, i, bandInfos[i]); |
| 796 |
} |
804 |
} |
|
|
805 |
setRedraw(true); |
| 797 |
} |
806 |
} |
| 798 |
/** |
807 |
/** |