bourny Posted August 8, 2015 Author Posted August 8, 2015 M23.Created a stripped down version of my code and spliced in your example to hopefully let you see what I am getting. The included example is set already working with your combo extension. Simply add in the combo data for column 3 (remmed out) to see the the small combo have same large field as the column 4 combo data.To break the lot simply unrem the column 5 combo data and it breaks the nice extended column 4`s combo data.As I said above my bets are on "_GUICtrlListView_Create" causing this issue. expandcollapse popup; #Includes====================================================================================================================== #include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #include <File.au3> #include <Date.au3> #include <StringSize.au3> ; Melba23 include for dealing with string size in gui for list view ;#include "GUIListViewEx.au3" #include "GUIListViewEx_Mod_2.au3" ; melba23 include for list view control ;#include 'LV_Format_include1.3.au3' #include <GuiMenu.au3> #include <ButtonConstants.au3> #include <GuiListView.au3> #include <EditConstants.au3> ;#include 'LV_Format_include1.3.au3' ; Adds colouring features to the ListViews #include <GuiComboBox.au3> #include "EzMySql.au3" #include <MySQL.au3> #include <Array.au3> ; Just for display in example #include <GuiEdit.au3> #include <GuiStatusBar.au3> #include <GUICONSTANTS.au3> #include <GuiImageList.au3> ;Opt("GUIOnEventMode", 1) Opt("GUICloseOnESC", 0) ; #Global Vars=================================================================================================================== Global $iCount_Left = 20, $iCount_Right = 20, $vData, $sMsg, $aLV_List_Left, $aLV_List_Right, $aRet, $iEditMode = 0 Global $cDisplay_Right_Button, $cExit_Button, $iLV_Right_Index, $hListView_Right ,$hGUI Global $sSeparator = "--------------------------------------------" global $GotResultsInGui = 0 Global $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES, $LVS_EX_GRIDLINES, $LVS_EX_CHECKBOXES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_TRACKSELECT ) ; =============================================================================================================================== MakeGui() LaunchGUI() _MySQL_Close ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Func MakeGui() $hGUI = GUICreate("Gui", 1100, 450, -1, -1) $hListView_Right = _GUICtrlListView_Create($hGUI, "", 20, 40,1000, 300, BitOR($LVS_DEFAULT, $WS_BORDER )) _GUICtrlListView_SetExtendedListViewStyle($hListView_Right, $iExListViewStyle) _GUICtrlListView_AddColumn($hListView_Right, "Name 1", 83) _GUICtrlListView_AddColumn($hListView_Right, "Name 2", 83) _GUICtrlListView_AddColumn($hListView_Right, "Name 3", 83) _GUICtrlListView_AddColumn($hListView_Right, "Small Combo", 83, 2) _GUICtrlListView_AddColumn($hListView_Right, "Long Combo", 83, 2) _GUICtrlListView_AddColumn($hListView_Right, "Break it", 83, 2) $i = 0 $stop = 10 Do _GUICtrlListView_AddItem($hListView_Right, "Tom", $i) _GUICtrlListView_AddSubItem($hListView_Right, $i, "Dick", 1) _GUICtrlListView_AddSubItem($hListView_Right, $i, "Harry", 2) $i = $i + 1 Until $i = $stop ; Initiate LVEx - use read content as array - count parameter set - red insert mark - drag image - editable - all cols editable by default (plus headers) Global $iLV_Right_Index = _GUIListViewEx_Init($hListView_Right, $aLV_List_Right, 1, 0xFF0000, False, 1 + 2 + 4 + 16, "2;3;4;5;6" ) ; Create an array of combo data with separators Local $aCombo_Data[100] = ["Very long item to test the dropped width code 0"] For $i = 1 To 99 If Mod($i, 10) Then $aCombo_Data[$i] = "Very long item to test the dropped width code " & $i Else $aCombo_Data[$i] = $sSeparator EndIf Next Local $iWidth ; Determine max width of the combo items $iWidth = 0 For $i = 0 To 99 $aSize = _StringSize($aCombo_Data[$i], 12, Default, Default, "Courier New") If $aSize[2] > $iWidth Then $iWidth = $aSize[2] Next ;************************************************** ;_GUIListViewEx_ComboData($iLV_Right_Index, 3, "YES|NO", True, $iWidth + 20 ) ;<<<<<<<<< UNREM to see issue with combo size being too big taqking sie from column 4 _GUIListViewEx_ComboData($iLV_Right_Index, 4, $aCombo_Data, True, $iWidth + 20 ) ; <<<<<<<< Combo size is OK ;_GUIListViewEx_ComboData($iLV_Right_Index, 5, "Broken|Combo") ; <<<<<<<< If this is unremmed this will break the previous set size ;************************************************** ;New Width code - Remmed out as using previous code above for testing ;Local $aWidth[] = [200, 1, $iWidth + 20] ;_GUIListViewEx_SetEditWidth($iLV_Right_Index, $aWidth) $cDisplay_Right_Button = GUICtrlCreateButton("Show Right", 530, 350, 100, 30) $cExit_Button = GUICtrlCreateButton("Exit", 430, 390, 100, 30) GUISetState() ; Register for sorting, dragging and editing _GUIListViewEx_MsgRegister() EndFunc Func LaunchGUI() While 1 sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $cExit_Button ; this will exit if either the exit button is clicked or the xross is used in the top right Exit ;If $GUI_EVENT_CLOSE = GUIGetMsg() Then Exit ;idle until exit is pressed Case $cDisplay_Right_Button $aLV_List_Right = _GUIListViewEx_ReturnArray($iLV_Right_Index) If Not @error Then _ArrayDisplay($aLV_List_Right, "Returned Right") Else MsgBox(0, "Right", "Empty Array") EndIf EndSwitch $aEdited = _GUIListViewEx_EditOnClick() ;THIS IS THE TRIGGER FOR ANY CHANGES THAT HAVE BEEN MADE TO THE CELLS (RETURNS THE EXACT ENTRY IN THE ARRAY THAT HAS BEEN CHANGED) If IsArray($aEdited) Then If Ubound ($aEdited) > 1 Then _GUIListViewEx_ChangeItem($iLV_Right_Index, $aEdited[1][0], $aEdited[1][1], $aEdited[1][2]) EndIf WEnd EndFunc
Moderators Melba23 Posted August 9, 2015 Moderators Posted August 9, 2015 (edited) bourny,my bets are on "_GUICtrlListView_Create" causing this issueI have just been testing the UDF with a _GUICtrlListView_Create ListView and it works just fine - as I expected. Try it and see if it works for you:expandcollapse popup#include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #include <StringSize.au3> #include "GUIListViewEx_Mod.au3" #include <Array.au3> ; Just for display in example Opt("GUICloseOnESC", 0) Global $iCount_Left = 20, $iCount_Right = 20, $vData, $sMsg, $aLV_List_Left, $aLV_List_Right, $aRet, $iEditMode = 0 Global $sSeparator = "-------------" ; Create GUI $hGUI = GUICreate("LVEx Example 1", 640, 510) #Region - Left ; Create Left ListView GUICtrlCreateLabel("Native ListView", 10, 5, 300, 30) $cListView_Left = GUICtrlCreateListView("Tom|Dick|Harry", 10, 40, 300, 300, $LVS_SHOWSELALWAYS) _GUICtrlListView_SetExtendedListViewStyle($cListView_Left, $LVS_EX_FULLROWSELECT) _GUICtrlListView_SetColumnWidth($cListView_Left, 0, 93) _GUICtrlListView_SetColumnWidth($cListView_Left, 1, 93) _GUICtrlListView_SetColumnWidth($cListView_Left, 2, 93) GUICtrlSetBkColor($cListView_Left, $GUI_BKCOLOR_LV_ALTERNATE) ; Set font GUICtrlSetFont($cListView_Left, 12, Default, Default, "Courier New") ; Note edit control will use same font ; Create array and fill Left listview Global $aLV_List_Left[$iCount_Left] For $i = 0 To UBound($aLV_List_Left) - 1 If Mod($i, 5) Then $aLV_List_Left[$i] = "Tom " & $i & "|Dick " & $i & "|Harry " & $i Else $aLV_List_Left[$i] = "Tom " & $i & "||Harry longer " & $i EndIf GUICtrlCreateListViewItem($aLV_List_Left[$i], $cListView_Left) GUICtrlSetBkColor(-1, 0xCCFFCC) Next ; Initiate LVEx - use filling array - no count parameter - default insert mark colour (black) - drag image - sort & editable - all cols $iLV_Left_Index = _GUIListViewEx_Init($cListView_Left, $aLV_List_Left, 0, 0, True, 1 + 2 + 8) #EndRegion #Region - Right $hListView_Right = _GUICtrlListView_Create($hGUI, "", 430, 40, 200, 300, BitOR($LVS_DEFAULT, $WS_BORDER)) _GUICtrlListView_SetExtendedListViewStyle($hListView_Right, $LVS_EX_FULLROWSELECT) _GUICtrlListView_AddColumn($hListView_Right, "Peter", 83) _GUICtrlListView_AddColumn($hListView_Right, "Paul", 83) _GUICtrlListView_AddColumn($hListView_Right, "Mary", 83) _GUICtrlListView_SetTextBkColor($hListView_Right, 0xDDFFDD) ; Fill Right ListView For $i = 1 To $iCount_Right _GUICtrlListView_AddItem($hListView_Right, "Peter " & $i - 1) If Mod($i, 4) Then _GUICtrlListView_AddSubItem($hListView_Right, $i - 1, "Paul " & $i - 1, 1) EndIf _GUICtrlListView_AddSubItem($hListView_Right, $i - 1, "Mary " & $i - 1, 2) Next ; Read array from Right ListView Global $aLV_List_Right = _GUIListViewEx_ReadToArray($hListView_Right, 1) ; The array as read from Right ListView and used subsequently ;_ArrayDisplay($aLV_List_Right, "Read from Right ListView") ; Initiate LVEx - use read content as array - count parameter set - red insert mark - drag image - editable - all cols editable by default (plus headers) $iLV_Right_Index = _GUIListViewEx_Init($hListView_Right, $aLV_List_Right, 1, 0xFF0000, True, 2 + 4 + 8 + 16) #EndRegion #Region - Combo ; Create an array of combo data with separators Local $aCombo_Data[100] = ["Very long item to test the dropped width code 0"] For $i = 1 To 99 If Mod($i, 10) Then $aCombo_Data[$i] = "Very long item to test the dropped width code " & $i Else $aCombo_Data[$i] = $sSeparator EndIf Next ; Determine max width of the combo items $iWidth_Left = 0 For $i = 0 To 99 $aSize = _StringSize($aCombo_Data[$i], 12, Default, Default, "Courier New") If $aSize[2] > $iWidth_Left Then $iWidth_Left = $aSize[2] Next $iWidth_Right = 0 For $i = 0 To 99 $aSize = _StringSize($aCombo_Data[$i]) If $aSize[2] > $iWidth_Right Then $iWidth_Right = $aSize[2] Next ; Set combo data _GUIListViewEx_ComboData($iLV_Left_Index, 2, $aCombo_Data, True) _GUIListViewEx_ComboData($iLV_Right_Index, 1, $aCombo_Data, True) #EndRegion ; Set required edit/combo widths when editing Local $aWidth[] = [200, 1, $iWidth_Left + 20] _GUIListViewEx_EditWidth($iLV_Left_Index, $aWidth) Local $aWidth[] = [0, $iWidth_Right + 20, 0] _GUIListViewEx_EditWidth($iLV_Right_Index, $aWidth) $cExit_Button = GUICtrlCreateButton("Exit", 430, 390, 200, 110) GUISetState() ; Register for sorting, dragging and editing _GUIListViewEx_MsgRegister() ; Show tooltips for column 2 _GUIListViewEx_ToolTipInit($iLV_Left_Index, "2", 2000) _GUIListViewEx_ToolTipInit($iLV_Right_Index, "1", 2000) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $cExit_Button Exit EndSwitch $aRet = _GUIListViewEx_EditOnClick(0) ; Array only returned AFTER EditOnClick process - so check array exists If IsArray($aRet) And $aRet[0][0] Then ;_ArrayDisplay($aRet, "", Default, 8) ; Check if separator selected If $aRet[1][3] = $sSeparator Then ; Reset the previous value $iIndex = _GUIListViewEx_GetActive() _GUIListViewEx_ChangeItem($iIndex, $aRet[1][0], $aRet[1][1], $aRet[1][2]) EndIf EndIf ; Display tooltips when initiated column clicked _GUIListViewEx_ToolTipShow() ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< WEndLet me look at your code and see if I can spot anything.M23Edit: The code you are using to set the various edits and widths is all over the place, so I am not surprised that it is not doing what you want. Can you let me know in simple format which columns should be editable, which should use combos and which should expand the combo - something like this (which is what I think you want) would help:Col Edit Combo Expand 0 1 2 Y 3 Y Y 4 Y Y Y 5 Y YSecond Edit: See post and code below first to see if it works. Edited August 9, 2015 by Melba23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Moderators Melba23 Posted August 9, 2015 Moderators Posted August 9, 2015 (edited) bourny,This is what I think you want - it works fine for me using the latest Beta I posted. Look for the <<<<<<<<<<<<<<<<< lines to see what I changed:expandcollapse popup; #Includes====================================================================================================================== #include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #include <StringSize.au3> ; Melba23 include for dealing with string size in gui for list view #include "GUIListViewEx_Mod.au3" ; melba23 include for list view control #include <Array.au3> ; Just for display in example Opt("GUICloseOnESC", 0) ; #Global Vars=================================================================================================================== Global $iCount_Left = 20, $iCount_Right = 20, $vData, $sMsg, $aLV_List_Left, $aLV_List_Right, $aRet, $iEditMode = 0 Global $cDisplay_Right_Button, $cExit_Button, $iLV_Right_Index, $hListView_Right ,$hGUI Global $sSeparator = "--------------------------------------------" global $GotResultsInGui = 0 Global $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES, $LVS_EX_GRIDLINES, $LVS_EX_CHECKBOXES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_TRACKSELECT ) ; =============================================================================================================================== MakeGui() LaunchGUI() ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Func MakeGui() $hGUI = GUICreate("Gui", 1100, 450, -1, -1) $hListView_Right = _GUICtrlListView_Create($hGUI, "", 20, 40,1000, 300, BitOR($LVS_DEFAULT, $WS_BORDER )) _GUICtrlListView_SetExtendedListViewStyle($hListView_Right, $iExListViewStyle) _GUICtrlListView_AddColumn($hListView_Right, "Name 1", 83) _GUICtrlListView_AddColumn($hListView_Right, "Name 2", 83) _GUICtrlListView_AddColumn($hListView_Right, "Name 3", 83) _GUICtrlListView_AddColumn($hListView_Right, "Small Combo", 83, 2) _GUICtrlListView_AddColumn($hListView_Right, "Long Combo", 83, 2) _GUICtrlListView_AddColumn($hListView_Right, "Break it", 83, 2) #cs $i = 0 $stop = 10 Do [...] $i = $i + 1 Until $i = $stop #ce ; Much easier to use a loop and let AutoIt do the counting <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< For $i = 0 To 9 _GUICtrlListView_AddItem($hListView_Right, "Tom", $i) _GUICtrlListView_AddSubItem($hListView_Right, $i, "Dick", 1) _GUICtrlListView_AddSubItem($hListView_Right, $i, "Harry", 2) Next ; There is no column 6 - only 0-5 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Global $iLV_Right_Index = _GUIListViewEx_Init($hListView_Right, $aLV_List_Right, 1, 0xFF0000, False, 1 + 2 + 4 + 16, "2-5" ) ; Create an array of combo data with separators Local $aCombo_Data[100] = ["Very long item to test the dropped width code 0"] For $i = 1 To 99 If Mod($i, 10) Then $aCombo_Data[$i] = "Very long item to test the dropped width code " & $i Else $aCombo_Data[$i] = $sSeparator EndIf Next Local $iWidth ; Determine max width of the combo items $iWidth = 0 For $i = 0 To 99 $aSize = _StringSize($aCombo_Data[$i]) ; You never set a font, so use the default <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< If $aSize[2] > $iWidth Then $iWidth = $aSize[2] Next ; Set combo data for combo columns <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< _GUIListViewEx_ComboData($iLV_Right_Index, 3, "YES|NO", True) ; Readonly combo in col 3 _GUIListViewEx_ComboData($iLV_Right_Index, 4, $aCombo_Data, True) ; Readonly combo in col 4 _GUIListViewEx_ComboData($iLV_Right_Index, 5, "Broken|Combo") ; Editable combo in col 5 ; We want col 4 to expand, so set the [4] element of this array to the required width - all others can be set to 0 or omitted (set to 0 by default) Local $aWidth[] = [0, 0, 0, 0, $iWidth + 20] ; Col: 0 1 2 3 4 5 _GUIListViewEx_EditWidth($iLV_Right_Index, $aWidth) ; Show tooltips on col 4 _GUIListViewEx_ToolTipInit($iLV_Right_Index, "4", 2000) $cDisplay_Right_Button = GUICtrlCreateButton("Show Right", 530, 350, 100, 30) $cExit_Button = GUICtrlCreateButton("Exit", 430, 390, 100, 30) GUISetState() ; Register for sorting, dragging and editing _GUIListViewEx_MsgRegister() EndFunc Func LaunchGUI() While 1 ;sleep(10) ; Not needed as GUIGetMsg has its own built-in delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $cExit_Button Exit Case $cDisplay_Right_Button $aLV_List_Right = _GUIListViewEx_ReturnArray($iLV_Right_Index) If Not @error Then _ArrayDisplay($aLV_List_Right, "Returned Right") Else MsgBox(0, "Right", "Empty Array") EndIf EndSwitch ; Slightly amended code to detect separator <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $aEdited = _GUIListViewEx_EditOnClick() If IsArray($aEdited) And $aEdited[0][0] Then If $aEdited[1][3] = $sSeparator Then _GUIListViewEx_ChangeItem($iLV_Right_Index, $aEdited[1][0], $aEdited[1][1], $aEdited[1][2]) EndIf EndIf _GUIListViewEx_ToolTipShow() ; Show tooltips <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< WEnd EndFuncPlease ask if anything is still unclear.M23 Edited August 9, 2015 by Melba23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
bourny Posted August 9, 2015 Author Posted August 9, 2015 M23. Working great now. When I check my core code the place where I can see I did not define the same as your latest post is the $aWidth value lineLocal $aWidth[] = [0, 0, 0, 0, $iWidth + 20] ;;;;This works greatand this is what I had ;Local $aWidth[] = [200, 1, $iWidth + 20];;;;This does notClearly I have not got the point of defining the $aWidth correctlyThanks for your continued assistance and I would say that your new mod is good to go. much improved for combo length manipulation and will now make my listview more polished looking. Going off now to skin up the GUI as it is looking a bit basic and try and get the icons bit to work now I can detect column changes.Thanks Again.
Moderators Melba23 Posted August 9, 2015 Moderators Posted August 9, 2015 bourny,Delighted you got it working.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now